2014-06-12 44 views
1

我想從重寫URL:.htaccess的規則,導致404跨網站

http://domain.com/book.php?id=1 

要:

http://domain.com/1 

我設置htaccess的以下規則:

RewriteRule ^([^/]*)$ /book.php?id=$1 [L] 

我不知道爲什麼這個規則導致域上的所有內容返回404的頭部(未找到)。文件中的其他規則無效,因爲我試圖刪除它們,但仍出現404。

+0

你能澄清哪些URL實際上是給404給你? – anubhava

+0

任何網址,甚至是域名主頁 –

回答

2

試試這個規則與RewriteCond

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?$ /book.php?id=$1 [L,QSA] 
+0

你能解釋一下這幾行的意思嗎?謝謝:) –

+0

它只是意味着如果請求有效的文件或目錄,請避免重寫。 – anubhava

+0

有效文件的含義是什麼?是不是book.php一個有效的文件本身?對不起,mod重寫是我最難掌握的事情之一 –