我在WAMP上使用CodeIgniter。
加载了Apache的Mod_Rewrite模块。
我的CI项目位于C:\wamp\www\store
我已经从Codeigniter URL文档(here)复制了重写规则:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
我尝试打开的链接是localhost/store/city
在我看来,规则永远不会发生。当我尝试打开上述地址时,我收到了浏览器的默认404(不是CI),似乎没有重写。
如果我加载localhost/store/index.php/city
正确的页面加载。
为什么我的规则不会解雇?
答案 0 :(得分:3)
尝试更改
RewriteRule ^(.*)$ /index.php/$1 [L]
到
RewriteRule ^(.*)$ ./index.php/$1 [L]
您的方法是尝试从基础
加载网址localhost/index.php/city
答案 1 :(得分:0)
在.htaccess文件中使用此代码:
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
这将有助于您确保:)
答案 2 :(得分:0)
在application / config / config.php中,您必须将索引页面设置为空白,如:
$config['index_page'] = '';
答案 3 :(得分:0)
我将此规则放在文件中:
RewriteRule (.*) http://test.com
事实证明重写规则根本没有解雇。需要移动.HTaccess文件。 CI将其放在Application文件夹中。我将它拖出父文件夹,现在一切正常。 奇怪的是。