Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
htaccess&x2B;wordpress不工作_Wordpress_.htaccess_Redirect_Mod Alias - Fatal编程技术网

htaccess&x2B;wordpress不工作

htaccess&x2B;wordpress不工作,wordpress,.htaccess,redirect,mod-alias,Wordpress,.htaccess,Redirect,Mod Alias,我正在使用更新的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,我会重

我正在使用更新的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/
http://www.example.com/categoria-producto/quillas/center/
是的,没有斜线

如果我尝试访问另一个URL,我会重定向到:

http://www.example.comtienda/
http://www.example.com/categoria-producto/quillas/center/
这是一个404

所以,我迁移网站时考虑了服务器错误,但问题仍然存在

我做错了什么

由于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上有一个斜杠,那么应该在目标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]
在这种情况下,指令的顺序并不重要

由于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上有一个斜杠,那么应该在目标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]

在这种情况下,指令的顺序无关紧要。

reset您的permalinkServer配置问题在这里是离题的,应该在serverfault.com上提问,但您的问题也不完整,因为没有显示您的服务器配置。@Rob这不是服务器配置问题@w3dk您是说修改.htaccess文件不是服务器配置吗?@Rob而
.htaccess
文件是“每个目录的Apache配置文件”,它们是userland开发的一部分,只有在您没有访问主服务器配置的权限时才真正需要。这将被视为ServerFault上的离题问题,在ServerFault上,大多数
.htaccess
问题都被视为是一个综合问题的重复问题。如果您不是系统管理员,并且对服务器配置具有完全访问权限,那么任何此类性质的问题在ServerFault上都是完全脱离主题的-只有这些问题得到了回答(并且没有关闭)你的permalinkServer配置问题在这里是离题的,应该在serverfault.com上提问,但是你的问题也不完整,因为没有显示你的服务器配置。@Rob这不是服务器配置问题@w3dk您是说修改.htaccess文件不是服务器配置吗?@Rob而
.htaccess
文件是“每个目录的Apache配置文件”,它们是userland开发的一部分,只有在您没有访问主服务器配置的权限时才真正需要。这将被视为ServerFault上的离题问题,在ServerFault上,大多数
.htaccess
问题都被视为是一个综合问题的重复问题。如果您不是系统管理员,并且拥有服务器配置的完全访问权限,那么任何此类性质的问题在ServerFault上都是完全离题的-唯一得到回答(而不是关闭)的是那些从网络中溜走的问题。谢谢@w3dk,你救了我一天!我没有投你反对票,伙计,你帮了我很多,我按下了“向上”按钮,但我的声誉<15。我不明白是谁给了我这个答案VoteTank you@w3dk,你救了我一天!我没有投你反对票,伙计,你帮了我很多,我按下了“向上”按钮,但我的声誉<15。我不明白是谁投票否决了这个答案