2013-08-21 71 views
-1

我使用以下htaccess代碼將我的網站site.com/page.php?id=1重寫爲site.com/page/1。htaccess重寫規則在子目錄中不起作用。

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

如果我將8個重寫規則添加到主htaccess文件,它可能會增加執行時間。所以我打算創建像頁面這樣的目錄,並在每個文件中放置一個新的htaccess文件。

RewriteEngine On 
RewriteRule (.*) index.php?id=$1 [L] 

但是這段代碼不起作用。

回答

1

該規則將循環。您需要添加一些條件:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) index.php?id=$1 [L] 

但有8條規則是這樣的:

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

並沒有真正增加顯著(除非你是一個很慢的服務器上),其執行時間。

+0

我正在使用VPS,那麼我可以繼續我已經遵循的8條規則是什麼? –

+0

@RahulR這是一個權衡。你想要8個規則的1個htaccess文件嗎?或者你有8個不同的目錄中有8個htaccess文件和1個規則?當然,使用1條規則獲得8個htaccess文件的速度會稍微快一些,但您可能永遠無法分辨出差異。 –