关于url重写

windows下开启apache mod_rewrite 的方法

1、打开Apache2/conf/httpd.conf
搜索 LoadModule rewrite_module modules/mod_rewrite.so (Apache2是这个)
去掉前面的#

2、找到需要rewrite的Directory

把AllowOverride None 替换为 AllowOverride All

 

ps:

在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 “.htaccess” 作用域的指令都允许出现在 .htaccess 文件中。

 

其他相关参数

AuthConfig
允许使用与认证授权相关的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。

FileInfo
允许使用控制文档类型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的 Add* 和 Remove* 指令等等)、控制文档元数据的指令(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。

Indexes
允许使用控制目录索引的指令(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, 等)。

Limit
允许使用控制主机访问的指令(Allow, Deny, Order)。

 

3.Directory的目录里加入.htaccess 文件

如下所示

<IfModule mod_rewrite.c> 
     RewriteEngine On 

 

     #这里写自己需要定义的RewriteRule 重写规则

 </IfModule> 

 

 

 

遇到一个小问题
之前用ci
用到了url重写
<IfModule mod_rewrite.c> 
     RewriteEngine On 
     RewriteBase / 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteRule ^(.*)$ index.php/$1 [L]
     RewriteRule ^(.*).html $1 [L]  
 </IfModule> 
  
 <IfModule !mod_rewrite.c> 
     # If we don't have mod_rewrite installed, all 404's 
     # can be sent to index.php, and everything works as normal. 
     # Submitted by: ElliotHaughin 
  
     ErrorDocument 404 /index.php 
 </IfModule>

最近新加入了fck
因为fck中用到了很多html文件,但是按照上面的url重写规则,就指到ci的mvc系统里,导致fck出错
于是在fck的目录下
加入.htaccess文件,使之不用url重写
<IfModule mod_rewrite.c> 
     RewriteEngine OFF 
 </IfModule>

于是解决两者的冲突问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值