以下是我从网址
中删除index.php
所做的更改
已替换$config['index_page'] = "index.php"
到$config['index_page'] = ""
然后替换$config['uri_protocol'] ="AUTO"
$config['uri_protocol'] = "REQUEST_URI"
然后我在.htaccess
文件
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
但这不起作用。任何想法,有什么不对?
答案 0 :(得分:2)
您不必编辑index.php,将内容.htaccess文件替换为:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
答案 1 :(得分:0)
请尝试使用以下代码。
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$
RewriteRule ^(.*)$ - [E=BASE:%1]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
答案 2 :(得分:0)
我不知道,但我认为你需要做的最后一件事就是你的Apache。的httpd.conf
更改
AllowOverride None
要
AllowOverride All
我也可以知道你的.htaccess位于哪里?
答案 3 :(得分:0)
将.htaccess文件放在项目文件夹中,如下所示:
的htdocs / your_project / htaccess的
尝试使用.htaccess的新代码:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
请勿尝试删除应用程序文件夹中已有的其他.htaccess文件。
config.php的变化如下:
$config['base_url'] = 'http://localhost/your_project_name/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
不要使用:
$config['uri_protocol'] ="AUTO"
希望它能为你完美地工作。