2013-03-01 68 views
1

我遇到的問題是我需要匹配並替換URL中的特定字符串,而不是在查詢字符串變量的標準點進行分割,並僅使用第二部分pagevars變量用於預期的URL。使用mod_rewrite替換htaccess中的特定字符串

在我需要使用的.htaccess重定向此URL這種特殊情況:

http://example.com/details.php?pagevars=this-variable-id-WGZ8765

這樣:

http://example.com/item/id-WGZ8765

+0

有沒有一種模式,或者你只想重寫這個URL? – 2013-03-01 11:09:43

+0

URL中唯一可以改變的部分是連字符後面的最後部分,在本例中爲'WGZ8765'。是一樣的 – 2013-03-01 11:27:52

回答

2

你必須使用RewriteCond來分析查詢字符串,任何攝像圖案將作爲%NRewriteRule(正如在規則本身可作爲$ N攝像圖案:

RewriteCond %{QUERY_STRING} this\-variable\-id\-(.*)$ 
RewriteRule ^details\.php$ /item/id-%1 [L] 
1

沿東西這行應該工作.. 。

RewriteCond %{QUERY_STRING} \-id\-([A-Za-z0-9]+)$ 
RewriteRule ^details\.php$ /item/id-%1 [L] 

很難確定沒有更多關於原始URL中可能/不會改變的知識 - 這可能是因爲您需要改變正則表達式的錨定方式。

+0

可以更改的URL的唯一部分是最後一部分在連字符之後,在這種情況下'WGZ8765' – 2013-03-01 11:21:18

相關問題