我遇到的问题是我需要匹配并替换URL中的特定字符串,而不是在查询字符串变量的标准点处拆分,并且仅使用pagevars变量的后半部分来在预期中使用URL。
在这种特殊情况下,我需要使用.htaccess重定向此URL:
http://example.com/details.php?pagevars=this-variable-id-WGZ8765
到此:
答案 0 :(得分:2)
您必须使用RewriteCond
来分析查询字符串,任何捕获的模式都将在RewriteRule
中以%N 的形式提供(正如规则本身中捕获的模式一样)可用 $ N :
RewriteCond %{QUERY_STRING} this\-variable\-id\-(.*)$
RewriteRule ^details\.php$ /item/id-%1 [L]
答案 1 :(得分:1)
有些事情应该有效......
RewriteCond %{QUERY_STRING} \-id\-([A-Za-z0-9]+)$
RewriteRule ^details\.php$ /item/id-%1 [L]
如果没有更多关于原始URL中可能/可能不会改变的知识,很难确定 - 可能需要改变正则表达式的锚定方式。