2011-08-01 60 views
2

我有一個網站使用mod_rewrite的漂亮的URL。我有兩個主要的網址:Apache忽略htaccess

example.com/id 
example.com/generate/id 

這htaccess文件:

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^generate/([a-z0-9_-]+)$ generate.php?id=$1 [L,NC] 
RewriteRule ^([a-z0-9_-]+)$ contact.php?id=$1 [L,NC] 

第一個URL工作正常,但第二個不是。 Apache顯示404錯誤,我認爲這是因爲它正在尋找文件夾「生成」,這不存在,它無法在文檔根目錄中找到htaccess。

謝謝

+1

你有在.htaccess任何其他'Options'指令?在任何情況下 - 將'Options + FollowSymLinks'改爲'Options + FollowSymLinks -MultiViews'並確保在該行之後沒有'Options + MultiViews'或類似的。現在再試一次有問題的網址。如果仍然沒有 - 請參閱是否可以啓用重寫調試(將「RewriteLogLevel 9」放入服務器配置/虛擬主機上下文中)並檢查重寫日誌以獲取確切的詳細信息。 – LazyOne

+0

謝謝,錯誤發生在MultiViews選項中,禁用錯誤消失 –

回答

0

你有沒有嘗試

RewriteRule ^generate\/([a-z0-9_-]+)$ generate.php?id=$1 [L,NC]