我正在尝试将网址设为
http://127.0.0.1/dev/blog/welcome
但是当我输入时,它会将网址更改为http://127.0.0.1/dev/blog/index.php/welcome
但是当我做http://127.0.01/dev/blog//welcome
时,由于某种原因,它仍然存在。
我的.htaccess是
RewriteEngine On
RewriteBase /dev/blog
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt|css)
RewriteRule ^(.*)$ index.php?/$1 [L]
我的config.php已配置
$config['base_url'] = 'http://127.0.0.1/dev/blog/';
$config['index_page'] = '';
哦,我确实检查了mod_rewrite是否打开,我正在使用WAMP
另一个信息:我正在使用Firefox,但是当我使用IE(9)时,它不会更改网址
http://127.0.0.1/dev/blog/welcome
至http://127.0.0.1/dev/blog/index.php/welcome
答案 0 :(得分:3)
对于RewriteRule
,添加NC和QSA标志。 QSA确保追加查询字符串。除非你计划在CodeIgniter上管理你的css文件,图像和robots.txt,否则也要排除倒数第二行。
试试这个:
RewriteEngine On
RewriteBase /dev/blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [NC,L,QSA]
另外,请检查config.php中的uri_protocol
。我在WAMP没有正确检测到它时遇到了一些问题,并且把它设置为PATH_INFO
而不是AUTO
时运气最好。
答案 1 :(得分:1)
您是否在apache配置中将AcceptPathInfo
设置为ON
?
答案 2 :(得分:0)
确保您正在编辑webroot目录上的文件而不是应用程序目录上的文件。我试图让这个工作正常,直到我终于认为这是我的问题
,我一直在努力