2013-03-01 28 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

相关问题