我尝试了所有关于从网址中删除index.php
的解决方案,但我仍然无法使其正常运行。
问题:
网址http://localhost/rc/index.php/person/find
显示正确的网页
URL http://localhost/rc/person/find
显示WAMP主页(没有任何图像),就像它重定向到根的父文件夹一样。
我的配置:
我创建的.htaccess
放在我的根目录(/www/rc/.htaccess)中,其中包含以下代码:
<IfModule mod_rewrite.c>
# Turn on MOD REWRITE engine
RewriteEngine On
#Remove index.php from the URL
RewriteBase /rc/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
#Also tried the following lines without success
#RewriteRule .* index.php/$0 [PT,L]
#RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
<IfModule !mod_rewrite.c>
# If mod_rewrite is not installed, fire 404 error
ErrorDocument 404 /index.php
</IfModule>
我还设置了$config['index_page'] = '';
(在www / rc / application / config / config.php文件中)。
答案 0 :(得分:2)
您必须将规则置于 CodeIgniter的主要规则之前。
用这个替换你当前的代码(你的htaccess必须在rc
文件夹中)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /rc/
RewriteCond %{THE_REQUEST} \s/rc/index\.php/([^\s]+) [NC]
RewriteRule . %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
答案 1 :(得分:0)
Justin Iurman在第一个答案的评论中给出了答案:
你确定mod_rewrite已启用吗?您可以在apache配置中查看它
可以在httpd.conf文件或WAMP托盘图标中启用。