谁能告诉我这个 htaccess 代码有什么问题

谁能告诉我这个 htaccess 代码有什么问题

我无法通过此代码...我需要捕获请求,但使用此代码我可以重定向,但无法找到特定的搜索页面。

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /searcha\.php\?name=(www\.)?([^/\ ]+)[^\ ]*\ HTTP/ 
RewriteRule ^.*$ http://www.mydomain.com/%2? [R=301,L]

有人能告诉我我错过了什么吗?

答案1

在您的 RewriteRule 中,您没有捕获任何内容,但随后您引用了 %2...? RewriteRule 不会对从 RewriteCond 中的正则表达式捕获的数据进行操作。

更新:实际上,现在我更仔细地阅读了您的代码,看起来您不需要 RewriteCond。如果您只是想将一个 URL 重写为另一个 URL,您可以执行以下操作:

RewriteRule ^searcha\.php\?name=(www\.)?([^/\ ]+)[^\ ]* http://www.mydomain.com/%2 [R=301,L]

(您可能需要对该正则表达式进行进一步调整,因为我不确定您要匹配什么)

相关内容