2015-04-23 117 views
1

我有一个链接:PHP变量WordPress的店铺页面

http://www.ignitionmarketing.co.za/products_promoDC.php?Product_Category=Corporate+Gifts 

我想它是:

http://www.ignitionmarketing.co.za/product-category/corporate-gifts/ 

而且我已经试过的正常方式:

Redirect 301 /products_promoDC.php?Product_Category=Corporate+Gifts http://www.ignitionmarketing.co.za/product-category/corporate-gifts/ 

但它仍然停留在404页面上。

有人能帮我吗?

新增注:

我有一对夫妇需要其他环节的像被重定向:

/products_promoDC.php?Product_Category=Corporate+Clothing 

/products_promoDC.php?Product_Category=Corporate+Clothing&Product_Subcategory=Shirts 

新的WordPress的店确实有相同的类别为好。

+0

我已经取得了一些进展 我已经重定向: http://www.ignitionmarketing.co.za/products_promoDC.php?Product_Category=Corporate+Gifts TO: –

+0

我已经取得了一些进展 我已经重定向: http://www.ignitionmarketing.co.za/products_promoDC.php?Product_Category=Corporate+Gifts TO:http://www.ignitionmarketing.co.za /店/?PRODUCT_CATEGORY =企业+氯没有 现在我需要的所有东西都是通过页面传递参数(?Product_Category = Corporate + Clothing)或者将网址改写为/ corporate-clothing/ –

+0

我找到了一种方法! RewriteCule%{QUERY_STRING} Product_Category =([^&] +)[NC] RewriteRule products_promoDC \ .php product-category /%1 /? [L,R = 301] 现在我只需要重写(企业+服装)企业服装.....任何建议 –

回答

0

只是对解决方案的更好的解释。也许你将来会遇到类似的问题。我试着将我的“products_promoDC.php”重定向到/ product-category /,这样变量/参数才加载到后面(/ product-category/Corporate + Clothing /),这仍然给我一个404错误,因为这个加号(+)在URL中。然后,我简单地写了一个RewriteRule来将这些加号(+)转换成破折号!

比做一个RewriteMatch更容易,这可能会导致子类别的问题。

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.ignitionmarketing.co.za/products_promoDC.php?Product_Category=Corporate+Gifts