127.0.0.1 developmentsite.com 127.0.0.1 blockeddomain1.com 127.0.0.1 blockeddomain2.com
我想阻止最后2个域名(和其他一些域名)。 为此,我添加了以下的vhost条目:
<VirtualHost *:80> DocumentRoot "/sites/blocked" <Directory /sites/blocked> Options Indexes FollowSymLinks Multiviews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
这工作正常。 但是现在我想让第一个域名路由到我正在服务的网站(运行XAMPP)。 这适用于将所有域路由到我的开发站点:
<VirtualHost *:80> DocumentRoot "/sites/developmentsite.com" ServerName developmentsite.com ServerAlias developmentsite.com <Directory /sites/developmentsite.com> Options Indexes FollowSymLinks Multiviews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog "/sites/logs/developmentsite.com/error_log" CustomLog "/sites/logs/developmentsite.com/access_log" common </VirtualHost>
但是我想只在那里发送这个。 我已经尝试了不同的端口和IPS,但我想我只是不明白一些基本的东西。
对不起,问这样一个基本的问题。 谢谢!
我认为,由于Apache的默认行为,你的“阻塞”VirtualHost只能如你所愿地工作; 如果找不到一个ServerName / ServerAlias与请求匹配的VirtualHost,它将使用默认的VirtualHost(如果没有明确select,它是第一个parsing的)。
你应该把你想要明确阻止的站点放到你的“阻塞”VirtualHost中,如下所示:
<VirtualHost *:80> # Add these lines so Apache knows explicitly what to route here: ServerName blocking.localhost ServerAlias blockeddomain1.com *.blockeddomain1.com ServerAlias blockeddomain2.com *.blockeddomain2.com # Everything else DocumentRoot "/sites/blocked" <Directory /sites/blocked> Options Indexes FollowSymLinks Multiviews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
我认为你需要再看看虚拟主机configuration。 问题没有意义。 怎么样
<VirtualHost *:80> DocumentRoot "/sites/blocked" <Directory /sites/blocked> Options Indexes FollowSymLinks Multiviews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
允许developmentsite.com和阻止其他网站不清楚什么时候什么东西允许和什么阻止在configuration中提到的。 查看http://www.sbarjatiya.com/notes_wiki/index.php/Apache_virtualhost_configuration_for_hosting_multiple_domains ,了解Apache虚拟托pipe的基本知识。 然后使用
Order deny,allow deny from all
拒绝你不想被访问的域名。
然后使用“ProxyPass”将一个本地站点的请求转发到其他服务器等。