我已经将我们的一个网站从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生成器