带URL参数的Htaccess - 订单

时间:2016-04-12 06:22:13

标签: php wordpress .htaccess redirect http-status-code-301

我有两种需要重定向的模式。

www.example.com/tag/value to www.example.com/recipe-tag/value
www.example.com/?tag=value to www.example.com/recipe-tag/value

这是我目前的.htaccess

RewriteEngine On
RewriteBase /
RewriteRule ^tag/(.*) http://www.example.com/recipe-tag/$1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

这适用于第一次重定向。我该怎么做才能让第二次重定向工作?

1 个答案:

答案 0 :(得分:1)

您必须使用条件来检测查询字符串。试一试。

RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} tag=(.+)$
RewriteRule ^ http://www.example.com/recipe-tag/%1? [R=301,L]

RewriteRule ^tag/(.*) http://www.example.com/recipe-tag/$1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

让我知道这对你有用。