我在最近复制到Mac的生产服务器上运行了WordPress网站。当我想在我的Mac上查看该网站时,我会去这里工作正常:
http://localhost/jasonswett.net/web/
但是当我尝试查看任何帖子时它不起作用。如果我去这里
http://localhost/jasonswett.net/web/tar-examples/
我收到一条错误消息,说“在此服务器上找不到请求的网址/jasonswett.net/web/tar-examples/。”
我知道mod_rewrite已启用,因为我在执行phpinfo()
时看到了它。我的htaccess文件是生产中的直接副本。
知道问题可能是什么?
答案 0 :(得分:2)
您是否更新了数据库中复制的wordpress位置配置?
UPDATE wp_posts SET guid = replace(guid, 'http://old.net','http://new.net');
UPDATE wp_posts SET post_content = replace(post_content, 'http://old.net', 'http://new.net');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://old.net', 'http://new.net');
UPDATE wp_options SET option_value = replace(option_value, 'http://old.net', 'http://new.net');
这是将wordpress从一个域移动到另一个域时的必要步骤,包括生产到本地。
否则,您是否检查过本地的.htaccess是否正在读取?尝试在其中设置PHP配置值,并查看它是否被phpinfo()拾取。有很多方法可能是错的:
1.您可能需要将.htaccess的所有权调整为您的apache运行的用户,如同chown
和chmod 640
一样,因此将为所有者和组授予读取权限。
2.您可能需要在httpd.conf中设置AllowOverride指令
3.检查您是否未修改AccessFileName指令。
最后,如果你在wordpress中禁用永久链接会怎么样?
答案 1 :(得分:0)
听起来没有为该文件夹正确设置AllowOverride指令。在Apache配置中,您应该确保您用于主域的目录或Vhost将AllowOverride设置为All
http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride