这是我的 apache 配置文件。我有两个域名在同一个 IP 上运行,但我希望它们指向不同的 Web 应用程序。但在这种情况下,两个域名都指向 e-yantra.org 的那个。
如果我在 E-yantra.org 之前复制粘贴 akshar.co.in 部分,两者都会指向 akshar.co.in
我有两个指向同一个 IP 的 A DNS 条目(每个域名一个)。
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.e-yantra.org
ServerAdmin [email protected]
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
<Directory /var/www/ci/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
<Directory /var/www/db2/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.akshar.co.in
ServerAdmin [email protected]
DocumentRoot /var/akshar.co.in
<Directory /var/akshar.co.in/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
答案1
如果您访问“www.akshar.co.in”,它会转到您的测试页面(即“hello world”)。
你的问题是这样的:
ServerName www.akshar.co.in
当您简单地输入“akshar.co.in”作为 URL 时,它并不匹配,即使 DNS 将您指向正确的 IP 地址。
我建议添加以下内容:
ServerAlias akshar.co.in *.akshar.co.in
这将允许 Apache 捕获不包含“www”(以及任何其他子域)的 URL 并将其与适当的虚拟主机关联。
我也建议在其他虚拟主机定义中使用等效的语句(以确保在扩展并向服务器添加更多站点时一切正常运行)。