已更改为新服务器并迁移了许多Wordpress网站。迁移后,我发现菜单链接不再有效。然而,内容就在那里。
我删除了htaccess文件,并将永久链接更改为默认设置' plain'。这工作得很好。但是,现在我的网站正在使用domain.com/?page_id=29等菜单链接。
在旧服务器上,我一直使用格式domain.com/post_name。所以我再次删除了htaccess文件并将永久链接更改为post_name,但是单击菜单中的链接总是给我一个404错误。检查了phpinfo()并启用了mod_rewrite。
现在的htaccess文件是:
elif tofrom == "from":
end = word[-1]
start = word[:-1]
translation = end + start
word = str.title(word)
translation = translation.lower()
print "%s is %s in English." % (word, translation)
continue1 = True
如果永久链接设置为postname,如何取回工作菜单链接?
答案 0 :(得分:1)
在Linux上,为了放宽对文档根目录的访问,您应该编辑以下文件:/etc/httpd/conf/httpd.conf
如果你在Ubuntu上,编辑文件/etc/apache2/apache2.conf(这里我们有一个/ var / www的例子)
根据您希望放宽访问权限的目录级别,您必须更改指令
AllowOverride None
到
AllowOverride All
因此,假设您要允许访问/ var / www / html目录中的文件,您应该更改以下行:
<Directory "/var/www/html">
AllowOverride None
</Directory>
到
<Directory "/var/www/html">
AllowOverride All
</Directory>
答案 1 :(得分:0)
为您提供参考文档: https://codex.wordpress.org/Using_Permalinks
当你说菜单lnks再次停止工作时我接受你的意思是说链接改变为http://domain/post_name的新永久链接格式正确吗?
如果是这样,你的问题在于mod_redirect。在docroot中的.htaccess(打开它并具有正确的重定向规则)或者它可以在您的apache Web服务器配置文件中。也许apache甚至没有启用mod_redirect。如果它是CPANEL服务器,则可能会启用mod_redirect。
答案 2 :(得分:0)
问题也可以是文件的路径。您是否使用与旧服务器相同的用户名和路径迁移帐户?
如果path与旧服务器不同,请执行db的mysql转储,查找路径并将其更改为正确的新路径。
如果路径相同,那么您可以通过重置永久链接来修复此问题,即首先将固定链接更改为除当前链接之外的其他固定链接并保存然后立即更改回先前使用的旧版本然后再次使用保存。这在过去对我有用。