htaccess 在具有多个 URL 的同一台服务器上

htaccess on same server with multiple URLs

是否可以在我的服务器上对多个 URL 仅进行一次 .htaccess 提示?

基本上,我有一个网络服务器目录:
/var/www/html/MainSite/.htaccess
可通过 http://main.myowndomain.com/ 浏览 然后我有子目录

/var/www/html/MainSite/SubSite1/index.html
/var/www/html/MainSite/SubSite2/index.html
/var/www/html/MainSite/SubSite3/index.html

我的网络接口具有以下eth.x设置
eth0......inet address 1.1.1.1
eth0:1....inet address 1.1.1.2
eth0:2....inet address 1.1.1.3
eth0:3....inet address 1.1.1.4

我的 httpd.conf 文件有

<VirtualHost 1.1.1.2:80>
    ServerAdmin admin@myowndomain.com
    DocumentRoot /var/www/html/MainSite1
    ServerName subsite1.myowndomain.com
</VirtualHost>

<VirtualHost 1.1.1.3:80>
    ServerAdmin admin@myowndomain.com
    DocumentRoot /var/www/html/MainSite/SubSite2
    ServerName subsite2.myowndomain.com
</VirtualHost>

<VirtualHost 1.1.1.4:80>
    ServerAdmin admin@myowndomain.com
    DocumentRoot /var/www/html/MainSite/SubSite3
    ServerName subsite3.myowndomain.com
</VirtualHost>

我的 .htaccess 是基本身份验证

<Files ~ "^\.(htaccess|htpasswd)$">
    deny from all
</Files>
Options Indexes
AuthUserFile /var/www/.htpasswd
#AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user

如果我浏览到 subsite1.myowndomain.com,它会提示我进行身份验证,然后如果我单击 link,它会再次提示我进行 main.myowndomain.com。

有没有办法让它转移过来,因为它是同一台服务器,或者因为它是虚拟主机,我必须为每个站点名称输入?

我能够通过在每个虚拟主机部分添加重定向来实现我想要的结果。

<VirtualHost 1.1.1.1:80>
    ServerAdmin admin@myowndomain.com
    DocumentRoot /var/www/html/MainSite/Subsite1
    ServerName main.myowndomain.com
    Redirect 301 / http://mainsite.myowndomain.com/MainSite/Subsite1
</VirtualHost>

<VirtualHost 1.1.1.2:80>
    ServerAdmin admin@myowndomain.com
    DocumentRoot /var/www/html/MainSite/SubSite2
    ServerName subsite1.myowndomain.com
    Redirect 301 / http://mainsite.myowndomain.com/MainSite/Subsite2
</VirtualHost>

<VirtualHost 1.1.1.3:80>
    ServerAdmin admin@myowndomain.com
    DocumentRoot /var/www/html/MainSite/SubSite3
    ServerName subsite2.myowndomain.com
    Redirect 301 / http://mainsite.myowndomain.com/MainSite/Subsite3
</VirtualHost>

现在,当我转到 subsite2.myowndomain.com 时,系统会提示我输入凭据,而不会再提示我输入其他 URL。