2015-04-23 84 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