我最近使用 WampServer(2.4 版)创建了一个虚拟主机,因此我可以使用 url http://yannbergonzat.local访问我的本地网站:
<VirtualHost *>
ServerName yannbergonzat.local
DocumentRoot "F:\Projets\Web\yann"
DirectoryIndex index.php
</VirtualHost>
这是来自 httpd.conf 的 Directory 标签:
<Directory />
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
这个网站是用 Symfony2 制作的,所以 yannbergonzat.local 指向一个文件夹。如果你想访问实际的网站,你必须去 yannbergonzat.local/web/app.php 。
我创建了一个 .htaccess 文件,因此可以使用 yannbergonzat.local 看到该网站:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/$1 [QSA,L]
</IfModule>
现在是问题所在。根据 AllowOverride 的值,会出现错误。
当 AllowOverride 设置为“all”时
读取 .htaccess 文件,可以在 yannbergonzat.local 上访问该站点,但无法访问另一个文件夹中的资源(样式表、javascript)(错误 403)
当 AllowOverride 设置为“无”时
.htaccess 文件没有被读取,在 yannbergonzat.local 上无法访问该站点(它显示了文件夹的内容),您必须编写整个 url(yannbergonzat.local/web/app.php),但是资源可以访问另一个文件夹中的(样式表、javascript) 。
我应该怎么做才能使 yannbergonzat.local 上的网站与其他文件夹中的资源正常工作?