htaccess + wordpress 不工作
htaccess + wordpress not working
我正在使用更新的 WP,我正在尝试将旧的 url 重定向到新的 url:
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/
是的,它缺少斜杠。
如果我尝试访问另一个 URL 我会重定向到:
http://www.example.com/categoria-producto/quillas/center/
这是一个 404...
所以,考虑到服务器错误,我迁移了网站,但问题仍然存在...
我做错了什么?
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
指令是前缀匹配,您需要反转这些指令。但是您缺少目标 URL 末尾的斜杠,所以这就是缺少斜杠的原因。所以,例如:
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]
在这种情况下,指令的顺序无关紧要。
我正在使用更新的 WP,我正在尝试将旧的 url 重定向到新的 url:
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/
是的,它缺少斜杠。
如果我尝试访问另一个 URL 我会重定向到:
http://www.example.com/categoria-producto/quillas/center/
这是一个 404...
所以,考虑到服务器错误,我迁移了网站,但问题仍然存在...
我做错了什么?
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
指令是前缀匹配,您需要反转这些指令。但是您缺少目标 URL 末尾的斜杠,所以这就是缺少斜杠的原因。所以,例如:
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]
在这种情况下,指令的顺序无关紧要。