2013-04-16 15 views
1

我在我的.htaccess文件無法獲得mod_rewrite的時候只需要重寫某些URL

RewriteRule ^detail.php/[R=301,NC,L] 
RewriteRule ^tempate.php/[R=301,NC,L] 

下列規則設置什麼這些要做的就是執行301重定向時detail.php和模板的工作。 PHP是所謂的,雖然這個工作,這是不工作的時候我進入mydomain.co.za/detail.php?product_id=2432&category=700那麼它的網站mydomain.co.za/?product_id=2432&category=700

我需要的任何網址,其中文件名是detail.phptemplate.php用的參數在查詢字符串中的任何量重定向到重定向主頁

我試過RewriteRule ^detail.php?(.*)/[R=301,NC,L],這也行不通。任何幫助或指導將不勝感激。

回答

2

這一行替換您2個重寫規則行:

RewriteRule ^(?:detail|template)\.php$ /? [R=301,NC,L] 

注意問號/後,這是一個特殊的mod_rewrite語法從原始的URI去掉任何現有的查詢字符串。

另外請記住,RewriteRule只匹配沒有查詢字符串的URI,因此您嘗試^detail.php?(.*)/[R=301,NC,L]將無法​​按預期工作。

+0

神奇的,使現在完美的感覺。實施和測試,並按預期完美工作 – Roland

+0

不客氣,很高興它解決了問題。 – anubhava