我在本地 fedora 23 全新安装上安装了 lamp(mariadb、httpd 和 php 7)。
我将我的所有网站都导入了 /var/www 文件夹中。现在我只想正确配置所有这些。
例如:在 /etc/conf.d/mywebsite.conf 中:
<VirtualHost *:80>
ServerName mywebsite.local
DocumentRoot /var/www/mywebsite/public
<Directory var/www/mywebsite/public>
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
在 /etc/conf.d/drupal.conf 中:
<VirtualHost *:80>
ServerName drupal.local
DocumentRoot /var/www/drupal
<Directory /var/www/drupal>
AllowOverride All
</Directory>
</VirtualHost>
AllowOverride All 不起作用:在 var/www/mywebsite/public/.htaccess 中
Options +FollowSymLinks RewriteEngine On RewriteRule (.*) http://www.google.com
根本不起作用
- VirtualHost 配置不仅适用于定义的 serverName,而且适用于所有 serverName:localhost、drupal.local、mywebsite.local 显示相同的内容:var/www/mywebsite/public 的内容。如果我删除 mywebsite.conf,它就是 /var/www/drupal 的内容。
答案1
您应该将 Directory 指令移到虚拟主机部分之外。
<Directory var/www/mywebsite/public>
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
ServerName mywebsite.local
DocumentRoot /var/www/mywebsite/public
</VirtualHost>
<Directory /var/www/drupal>
AllowOverride All
</Directory>
<VirtualHost *:80>
ServerName drupal.local
DocumentRoot /var/www/drupal
</VirtualHost>