OS X 为新网站配置 Apache:未找到 URL

OS X 为新网站配置 Apache:未找到 URL

我正在尝试设置我的配置,以便可以开发一个网站来测试 MVC 架构(基于这个例子)。我的问题是,如果我没有在 URL 上指定任何内容,我只能访问我的 index.php。我的网站位置在 /Users/[my user]/Projects/workspace/Spike,为了避免权限问题,我添加了一个符号链接 /Library/WebServer/Documents/spike 来指向上面提到的网站文件夹。我还在 httpd.conf 上设置了一个新的 VirtualHost,配置如下:

<VirtualHost project1>
        ServerName project1
        DocumentRoot /Library/WebServer/Documents/spike
</VirtualHost>

我还在 /etc/hosts 上添加了一个新条目,将 project1 指向 127.0.0.1。在我的网站根目录下,我有一个包含以下内容的 .htaccess,它应该将所有请求转发到我的 index.php 文件(现在只包含一个 echo“Hello World”):

Options +FollowSymlinks

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?request=$1 [L,QSA]

因此,我的问题是,如果我尝试使用“http://项目1/“一切正常。如果我尝试使用“http://project1/something“(等等)我会收到以下错误:

该服务器上未找到所请求的 URL/某些内容。

有人能帮我吗?提前谢谢了!

答案1

您的重写规则被忽略。您可以index.php直接访问,但无法访问实际上不存在的文件,因为它们的请求路径未被重写。

您需要AllowOverride All在 Web 服务器配置文件中指定(如),否则文件httpd.conf中设置的重写规则将被忽略。.htaccess

该指令通常存在于所有默认<Directory ...>块中,只需将它们设置为None到 即可All。通过以下方式重新启动 Apache系统偏好设置 » 共享然后再试一次。

相关内容