htaccess的笨mod_rewrite的工作不正常(CodeIgniter htaccess m

2019-06-23 23:54发布

我试图让网址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

Answer 1:

为了您的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



Answer 2:

你有没有设定AcceptPathInfoON在你的Apache配置?



Answer 3:

请确保您正在编辑你的根目录目录,而不是在应用程序目录的文件。 我已经有些吃力,而试图让,直到我终于想通这才能正常工作,这是我的问题



文章来源: CodeIgniter htaccess mod_rewrite not working properly