2017-05-01 42 views
1

我與更新WP工作,我想舊網址重定向到新網址:htaccess的WordPress的+不工作

Redirect 301 /es/ http://www.example.com 
Redirect 301 /es/tienda/ http://www.example.com 
Redirect 301 /es/categoria-producto/quillas/center http://www.example.com/categoria/quillas-single/ 

這是我在瀏覽器中得到:

如果我嘗試訪問我重定向到的第一個URL:

http://www.example.comtienda/ 

是的,它缺少斜線。

,如果我嘗試訪問我有一個重定向到另一個網址:

http://www.example.com/categoria-producto/quillas/center/ 

這是一個404 ......

所以,我遷移的網站想着服務器錯誤,但問題堅持...

我在做什麼錯?

+0

重置您的永久鏈接 –

+0

服務器配置問題在這裏是關閉主題,應在serverfault.com上詢問,但由於未顯示服務器配置,您的問題也不完整。 – Rob

+1

@Rob這不是一個服務器配置問題?! – MrWhite

回答

0
Redirect 301 /es/ http://www.example.com 
Redirect 301 /es/tienda/ http://www.example.com 
Redirect 301 /es/categoria-producto/quillas/center http://www.example.com/categoria/quillas-single/ 

由於mod_alias中Redirect指令是前綴匹配,你需要扭轉這些指令。但是您在目標網址末尾缺少斜槓,所以這就是缺少斜槓的原因。因此,舉例來說:

Redirect 301 /es/categoria-producto/quillas/center/ http://www.example.com/categoria/quillas-single/ 
Redirect 301 /es/tienda/ http://www.example.com/ 
Redirect 301 /es/ http://www.example.com/ 

如果您對源URL斜線,你應該包括在目標上的斜線。

但是,由於這是一個WordPress網站,您應該使用mod_rewrite來代替。例如,在您現有的WP指令之前:

RewriteRule ^es/categoria-producto/quillas/center$ /categoria/quillas-single/ [R=301,L] 
RewriteRule ^es/tienda/$/[R=301,L] 
RewriteRule ^es/$/[R=301,L] 

在這種情況下,指令順序並不重要。

+1

謝謝@ w3dk,您拯救了我的一天! – Jotadrive

+0

非常好的解釋,如此清晰完美 – Jotadrive

+0

謹慎解釋倒票? – MrWhite