2012-08-08 190 views
1

我在開發機器上使用Wamp來開發項目。這是我的.htaccess:.htaccess mod_rewrite無法正常工作

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?$1 [L] 
RewriteBase /project/ 

這是放在本地主機/工程,使本地主機一樣/項目/某事的任何請求,被路由到本地主機/項目/ index.php文件/東西

然而,他們被路由到本地主機/ index.php /東西

我懷疑它與我如何使用RewriteBase有關。我如何解決它?

回答

1

爲什麼不把基地放在重新包裝裏?

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /project/index.php?$1 [L] 

編輯:

這個問題可以幫助你:htaccess RewriteBase

3

您需要刪除斜線在您的規則:

# no slash---------v 
RewriteRule ^(.*)$ index.php?$1 [L] 

阿帕奇一種猜測是否達到目標一個RewriteRule是一個URL路徑或文件路徑。當它以斜槓開始時,它假定它是一個URL路徑,並且它是絕對的,所以它會轉到文檔根目錄的index.php。如果沒有斜槓,它會猜測文件路徑或使用重寫基礎來幫助確定使用哪一個。

您還應該將RewriteBase指令移到您的規則上方。