2012-04-26 50 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目錄上的文件而不是應用程序目錄。我努力了一會兒,試圖讓這個工作正常,直到我終於明白那是我的問題