htaccess查询字符串重定向无法正常工作

时间:2017-08-05 13:26:43

标签: .htaccess redirect mod-rewrite query-string

我正在尝试使用RewriteCond和RewriteRule将http://example.com/for-sale/?property=1234重定向到.htaccess中的http://example.com/for-sale/property-name/。这就是我到目前为止所做的:

RewriteCond %{QUERY_STRING} ^(property=1234)
RewriteRule ^$ /for-sale/property-name/? [R=301,L]

这不起作用。我可以将?property = 1234重定向到for-sale / property-name /但是如何在未重定向的URL中使用/ for-sale /?我在RewriteRule中尝试了各种待售组合但没有成功。 谢谢。 我的所有链接现在都已损坏,所以我真的很感激一些建议。感谢。

1 个答案:

答案 0 :(得分:1)

这是一个wordpress网站,所以第一个错误是在wordpress重写之后进行重写。第二个错误出现在RewriteRule中。这是工作代码:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /

RewriteCond %{QUERY_STRING} property=1234$
RewriteRule ^for-sale/?$ /for-sale/property-name/? [R=301,L]

 ... my other rewrites

</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

这很有效。希望它可以帮助其他人。