【问题标题】:Issue with Mod_Rewrite after moving projects out of "www" "folder from WampServer将项目从 WampServer 移出“www”“文件夹后出现 Mod_Rewrite 问题
【发布时间】:2015-04-26 23:00:28
【问题描述】:

我已经尝试了几个小时,但无法理解为什么启用永久链接的开箱即用 WordPress 实例在 "C:\wamp\www" 中有效,而相同的副本在以下情况下会收到“404 Not Found”放在"www" 文件夹之外的文件夹中,比如"C:\projects"

我相信httpd-vhosts.conf 配置正确,但以防万一,这里粘贴了 2 个虚拟主机设置。

<VirtualHost *:80>
    DocumentRoot "C:\wamp\www"
    ServerName localhost
    <Directory "C:\wamp\www">
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot    "C:\wamp\www\wordpress-lorem"
    ServerName      wordpress-lorem.localhost.com
    <Directory "C:\wamp\www\wordpress-lorem">
        Order Allow,Deny
        Allow from All
        Require local
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot    "C:\Projects\wordpress-ipsum"
    ServerName      wordpress-ipsum.localhost.com
    <Directory "C:\Projects\wordpress-ipsum">
        Order Allow,Deny
        Allow from All
        Require local
    </Directory>
</VirtualHost>
  • 网站wordpress-lorem.localhost.com 可以正常运行。
  • 虽然wordpress-ipsum.localhost.com 的永久链接会出现问题(关闭永久链接后可以正常工作)。

在 Windows 8.1 64 位和 WampServer 2.5 上进行了实验。

【问题讨论】:

    标签: php apache mod-rewrite httpd.conf


    【解决方案1】:

    看起来您在附加虚拟主机的目录部分中缺少“AllowOverride All”。这会阻止您的 htaccess 工作...

    【讨论】:

    • 就是这样,谢谢!!您能否进一步详细说明为什么仅当网站实例位于 "www" 文件夹之外时才需要“AllowOverride All”?
    • 到处都需要...它在您粘贴的 wamp 配置中,在 ServerName localhost 的目录中的第一行。您在第二个虚拟主机中不需要它的事实是,因为第一个虚拟主机是为基本文件夹设置它,所以它是从那里继承的,因为它是一个子文件夹。
    猜你喜欢
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    相关资源
    最近更新 更多