2014-10-30 57 views
0

我有一個關於如何正確重寫URL的問題。.htaccess用參數重寫

我想重寫每個URL的index.php?p = thatpage,例如

Param1沒有名稱param1,應該可以添加更多參數。在這一刻我有:

RewriteRule ^([a-z]+)*$ ./index.php?p=$1 

哪些工作正常的前兩個,但不是最後。

可選的,如果以'img'或'layout'開頭,不要重寫一個URL。

在此先感謝!

回答

2

您可以使用[QSA]標籤的查詢字符串添加到您的重定向:

RewriteRule ^(.+?)/?$ ./index.php?p=$1 [QSA] 

(我改變了[a-z]+.+得到它與斜線的工作)

爲了您的其它附加的要求,這裏是如何禁用特定文件夾的URL重寫:

RewriteEngine On 

RewriteRule ^img/ - [L] 
RewriteRule ^layout/ - [L] 

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