配置 Apache2 站点路径

配置 Apache2 站点路径

就我所见,我不太理解Directory和指令。我想配置 Apache 服务器以实现以下行为:VirtualHost

网站内容位于:/var/www/mywebsite

我想要以下解决方案:
mywebsite.com/-> /var/www/mywebsite/index.html
mywebsite.com/mywebsite->/var/www/mywebsite/index.html

我还安装了 php5,因此我可以在 处编写一个简单的重定向/var/www/redirect.php。但我不认为这是正确的解决方案,而且我不确定要搜索什么才能找到答案。

答案1

您可以通过 .htaccess 使用以下重写规则

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/mywebsite/?
RewriteRule (.*) /index.html [R=301,L]

有人告诉我 htaccess 是邪恶的,我应该使用 Directory 指令。

只需将规则移至虚拟主机部分

<VirtualHost *:80>
   ServerAdmin [email protected]
   ServerName mywebsite.com

   DocumentRoot /vhosts/mywebsite.com/public_html

   <Directory /vhosts/mywebsite.com/public_html>
      Options -Indexes
      AllowOverride All
      Order Allow,Deny
      Allow from All
      Require All granted

      RewriteEngine On
      RewriteCond %{REQUEST_URI} ^/mywebsite/?
      RewriteRule (.*) /index.html [R=301,L]
   </Directory>
</VirtualHost>

相关内容