2

我正在尝试将网址设置为 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) 时,它不会将 url 从更改 http://127.0.0.1/dev/blog/welcomehttp://127.0.0.1/dev/blog/index.php/welcome

4

3 回答 3

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]

另外,请检查您uri_protocol的 config.php。我遇到了一些 WAMP 无法正确检测到它的问题,并且最幸运的是将它设置为PATH_INFO而不是AUTO.

于 2012-04-26T23:59:46.473 回答
1

您是否已在 apache 配置中设置AcceptPathInfo为?ON

于 2014-05-16T16:04:23.983 回答
0

确保您在 webroot 目录而不是应用程序目录上编辑文件。我一直在努力让它正常工作,直到我最终认为这是我的问题

于 2013-04-19T14:12:45.950 回答