.htaccess 301 重定向参数到 WordPress



我已经将我们的一个网站从PHP编码的网站迁移到WordPress网站,我在将旧商店页面重定向到我们的新商店页面时遇到问题。

我想为此链接进行 301 重定向:

http://www.example.com/products_promoDC.php?Product_Category=Corporate+Gifts

自:

http://www.example.com/product-category/corporate-gifts/

我添加的所有内容都根本不起作用。

目前我有:

# 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
# GZIP COMPRESSION
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# END GZIP COMPRESSION

任何帮助将不胜感激!

编辑

我更改了我的 .htaccess 代码:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^Product_Category=Corporate+Gifts$ [NC]
RewriteRule ^products_promoDC.php http://www.example.com/product-category/corporate-gifts? [L,R=301]
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

所以我解决了自己的问题。

我将products_promoDC.php重定向到/product-category/,因此变量/参数仅加载在(/product-category/Corporate+Clothing/)后面,由于URL中的加号(+),这仍然给了我404错误。然后我简单地写了一个RewriteRule将加号(+)转换为破折号!

RewriteRule "^([^+]*)++([^+]*+.*)$" /$1-$2 [N]
RewriteRule "^([^+]*)++([^+]*)$" /$1-$2 [L,R=301]
RewriteCond %{QUERY_STRING} Product_Category=([^&]+) [NC]
RewriteCond %{QUERY_STRING} Product_Subcategory=([^&]+) [NC]
RewriteRule products_promoDC.php product-category/%1/? [L,R=301]

我也为要加载的子类别添加了第二行!

完美工作:

http://www.example.com/products_promoDC.php?Product_Category=Corporate+Gifts

怎么样

RedirectMatch 301 ^/products_promoDC.php?Product_Category=Corporate+Gifts/(.*)$ /product-category/corporate-gifts/$1

如果你是htaccess的新手,我建议你使用htaccess生成器

最新更新