Apache .htaccess与虚拟主机
我决定在apache上添加虚拟主机。我以前的看法是:Apache .htaccess与虚拟主机,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,我决定在apache上添加虚拟主机。我以前的看法是: ServerName域名1.com DocumentRoot/var/www/ 我在/var/www/中有.htaccess,它将非www重定向到www,并将类似forum.domain1.com的子域重定向到www.domain1.com/forum 这是我的htaccess文件: RewriteEngine on RewriteCond %{HTTP_HOST} ^forum\.domain1\.com$ RewriteRule ^
ServerName域名1.com
DocumentRoot/var/www/
我在/var/www/中有.htaccess,它将非www重定向到www,并将类似forum.domain1.com的子域重定向到www.domain1.com/forum
这是我的htaccess文件:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^forum\.domain1\.com$
RewriteRule ^ http://www.domain1.com/forum%{REQUEST_URI} [P]
RewriteCond %{HTTP_HOST} !^www..*
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} ^([^.]*).(com|com/)
RewriteRule ^.*$ http://www.%1.%2{REQUEST_URI} [R=301,L]
现在我有两个域,我使用本教程设置虚拟主机:
所以,现在在我的/etc/apache2/站点中,我有3个文件,默认值、domain1.com和domain2.com。htaccess保留在/var/www/中,它为domain1.com工作,但不为domain2.com工作。
我是否需要更改/var/www/中的.htaccess以接受域2,或者我可以将.htaccess添加到/var/www/domain2.com/public_html/?
我是否需要将previous.htaccess从/var/www/to/var/www/domain1.com/public\u html移动到/var/www/domain1.com/public\u html?
提前谢谢 为什么您的www文件夹中有.htaccess,您应该将它们放在vhost DocumentRoot中,并使用每个.htaccess单独控制每个站点 所以你的树应该是:
/var/www/
- domain1.com
- .htaccess
- domain.com
- .htaccess
siteroot.htaccess文件只能在特殊情况下使用,否则使用Vhosts没有任何意义。。。最好只有一个vhost,剩下的就让.htaccess来做。我把htaccess移到vhost根目录,但现在我的子域正在工作,只添加了www。在vhost中,你必须创建add
ServerName domain1.com
然后在你的操作系统主机文件中添加这个127.0.0.1 domain1.com
已经添加了ServerName。已添加主机,但问题仍然存在…仅在url前面添加www。好的,我发现htaccess正在工作,但我的子域不工作。我需要在vhost conf文件中为子域添加新的虚拟名称。因此,我将ServerName sub.domain1.com文档root/var/www/domain1.com/sub放入其中。即使添加ServerAlias*.domain1.com,它看起来也像htaccess point sub.domain1.com到/var/www/。也许有人会为多个虚拟主机中的子域提供帮助。