当我尝试访问没有 www 的网站时,访问被拒绝

当我尝试访问没有 www 的网站时,访问被拒绝

我在一台 Debian 机器上有一个 Apache Web 服务器。我使用 virtualmin 来管理虚拟主机。我现在在这个服务器上有两个站点,当我尝试访问一个 URL 中没有 www 的站点时,访问被拒绝。另一个站点没有问题。有问题的站点是一个 cakephp 应用程序,在 public_html 文件夹中有以下 .htaccess 文件。

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

以下是问题域的指令。

SuexecUserGroup "#1001" "#1001"
ServerName mydomain.net
ServerAlias www.mydomain.net
ServerAlias webmail.mydomain.net
ServerAlias admin.mydomain.net
DocumentRoot /home/mydomain/public_html
ErrorLog /var/log/virtualmin/mydomain.net_error_log
CustomLog /var/log/virtualmin/mydomain.net_access_log combined
ScriptAlias /cgi-bin/ /home/mydomain/cgi-bin/
ScriptAlias /awstats/ /home/mydomain/cgi-bin/
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /home/mydomain/public_html>
Options -Indexes +IncludesNOEXEC +FollowSymLinks +ExecCGI
allow from all
AllowOverride All
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
FCGIWrapper /home/mydomain/fcgi-bin/php5.fcgi .php
FCGIWrapper /home/mydomain/fcgi-bin/php5.fcgi .php5
</Directory>
<Directory /home/mydomain/cgi-bin>
allow from all
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} =webmail.mydomain.net
RewriteRule ^(.*) https://mydomain.net:20000/ [R]
RewriteCond %{HTTP_HOST} =admin.mydomain.net
RewriteRule ^(.*) https://mydomain.net:10000/ [R]
RemoveHandler .php
RemoveHandler .php5
IPCCommTimeout 31
<Files awstats.pl>
AuthName "mydomain.net statistics"
AuthType Basic
AuthUserFile /home/mydomain/.awstats-htpasswd
require valid-user
</Files>

答案1

如果将 ServerName 与 ServerAlias 交换会发生什么情况?

ServerName www.mydomain.net
ServerAlias mydomain.net

然后尝试添加另一个虚假虚拟域。

相关内容