1

我遇到的问题是我需要匹配和替换 URL 中的特定字符串,而不是在查询字符串变量的标准点拆分,并且仅使用要在预期 URL 中使用的 pagevars 变量的后半部分。

在这种特殊情况下,我需要使用 .htaccess 来重定向此 URL:

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

对此:

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

4

2 回答 2

2

您必须使用RewriteCond来分析查询字符串,任何捕获的模式都将以%N in 的形式提供RewriteRule(就像规则本身中捕获的模式以$N的形式提供一样:

RewriteCond %{QUERY_STRING} this\-variable\-id\-(.*)$
RewriteRule ^details\.php$ /item/id-%1 [L]
于 2013-03-01T11:32:46.073 回答
1

类似这样的东西应该可以工作......

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

如果没有更多关于原始 URL 中可能/可能不会发生变化的知识,很难确定 - 可能是您需要更改正则表达式的锚定方式。

于 2013-03-01T11:15:04.830 回答