2012-04-26 48 views
2

我试图让网址 http://127.0.0.1/dev/blog/welcome但是当我键入它改变了网址http://127.0.0.1/dev/blog/index.php/welcomehtaccess的笨mod_rewrite的不正常

但是当我做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

另一个info:我正在使用Firefox,但当我使用IE浏览器(9)时,它不会将网址从 http://127.0.0.1/dev/blog/welcome更改为http://127.0.0.1/dev/blog/index.php/welcome

+1

愚蠢的问题,但你有没有尝试刷新浏览器缓存? – Seabass 2012-04-26 23:51:31

+0

@Zenbait是的,我做了Ctrl + F5,Shift + Ctrl + R,清除我的缓存。 – Jung3o 2012-04-26 23:52:42

回答

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

+0

页面似乎在说'没有指定输入文件'当我做'http:// 127.0.0.1/dev/blog/welcome' – Jung3o 2012-04-27 00:47:26

+3

'index.php?/ $ 1'上没有'?'现在它作品! – Jung3o 2012-04-27 00:59:11

0

确保您正在编辑webroot目录上的文件而不是应用程序目录。我努力了一会儿,试图让这个工作正常,直到我终于明白那是我的问题