Php 代码点火器htaccess模块重写工作不正常
我正在尝试将url转换为 http://127.0.0.1/dev/blog/welcome 但当我输入时,它会将url更改为http://127.0.0.1/dev/blog/index.php/welcome 但当我这么做的时候http://127.0.01/dev/blog//welcome 出于某种原因,它一直是这样 我的.htaccess是Php 代码点火器htaccess模块重写工作不正常,php,.htaccess,codeigniter,mod-rewrite,Php,.htaccess,Codeigniter,Mod Rewrite,我正在尝试将url转换为 http://127.0.0.1/dev/blog/welcome 但当我输入时,它会将url更改为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} !-
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,但当我使用IE9时,它不会更改url
http://127.0.0.1/dev/blog/welcome 到http://127.0.0.1/dev/blog/index.php/welcome对于重写规则,添加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_协议。WAMP没有正确检测到它,我遇到了一些问题,最幸运的是将它设置为PATH_INFO而不是AUTO。对于您的重写规则,请添加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_协议。WAMP没有正确检测到它,我遇到了一些问题,最幸运的是将它设置为PATH_INFO而不是AUTO。确保您在webroot目录而不是应用程序目录上编辑文件。我一直在努力让它正常工作,直到我最终发现这是我的问题确保您在webroot目录而不是应用程序目录上编辑文件。我一直在努力让它正常工作,直到我最终发现这是我的问题。您在apache配置中是否已设置为ON?您在apache配置中是否已设置为ON?愚蠢的问题,但您是否已尝试刷新浏览器缓存?@Zenbait是的,我执行了ctrl+f5,shift+ctrl+r,清除我的缓存。愚蠢的问题,但你是否尝试刷新浏览器缓存?@Zenbait是的,我执行了ctrl+f5、shift+ctrl+r,清除我的缓存。页面似乎显示没有指定输入文件。当我这样做的时候http://127.0.0.1/dev/blog/welcomeThe 页面似乎表示未指定输入文件。当我这样做的时候http://127.0.0.1/dev/blog/welcome