我有一个子域,我只想在内部访问; 我试图通过编辑该域的VirtualHost块来在Apache中实现这一点.谁能看到我哪里出错了?注意,我的内部IP地址是192.168.10.xxx.我的代码如下:
<VirtualHost *:80>
ServerName test.example.co.uk
DocumentRoot /var/www/test
ErrorLog /var/log/apache2/error_test_co_uk.log
LogLevel warn
CustomLog /var/log/apache2/access_test_co_uk.log combined
<Directory /var/www/test>
Order allow,deny
Allow from 192.168.10.0/24
Allow from 127
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
谢谢
问题是我只有一个域名需要运行3个不同的产品(其中2个基于PHP,1个python).所以我需要做的是将url中的路径视为不同的虚拟主机; 即:
www.domain.com/first_url/
www.domain.com/second_url/
www.domain.com/third_url/
Run Code Online (Sandbox Code Playgroud)
第一到第三个将作为单独的虚拟主机.
有任何线索如何做到这一点?
我一直试图建立一个子域来托管我的论坛,使它看起来比www.mydomain.co.uk/forum/index.php更好,我希望它是forum.mydomain.co.uk
我已经尝试了所有的教程,指南和我在谷歌上发现的一切,但没有任何作用.我尝试过使用webmin,但这让事情变得更复杂,我不得不从头开始重新安装所有东西,因为它破坏了它.这是我在下面的内容,任何人都可以告诉我,除了这个以外还有什么我必须为子域工作吗?
我的httpd.conf的内容是:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin email@email.com
ServerName forum.mydomain.co.uk
DocumentRoot /var/www/html/forum
ErrorLog logs/forum-error_log
CustomLog logs/forum-access_log common
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
域名本身有效.它指向我的apache页面,这是我现在需要的,因为我没有上传任何东西.当我去mydomain.co.uk/forum它,显示论坛内容的索引.forum.mydomain.co.uk显示页面无法显示/无法解析主机.
我必须配置任何其他文件才能使用吗?
在我的/var/www我有很多网站(goodsite,badsite,uglysite).现在他们被访问mydomain.com/goodsite等.
我想要的是一个站点,特别是丑陋的站点,可以访问uglysite.mydomain.com- 其他站点保持不变.
我尝试了各种摆弄.htaccess(in /var/www)的方法.注意我启用了mod-rewrite并启用了mod vhost-alias.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^uglysite\.mydomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/uglysite/
RewriteRule ^(.*)$ /uglysite/$1 [L]
Run Code Online (Sandbox Code Playgroud)
最终发生的是mydomain.com和uglysite.mydomain.com总是映射到相同的东西(即索引/var/www).我尝试添加一个新的虚拟主机,并且惊讶地发现uglysite.mydomain.com正确映射,但是mydomain.com也直接映射到uglysite.
<Virtualhost uglysite.mydomain.com:80>
ServerName uglysite.mydomain.com
ServerAdmin www@localhost
DocumentRoot "/var/www/"
AccessFileName .htaccess
<Directory "/var/www/uglysite">
Order allow,deny
Allow from All
AllowOverride All
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
以上内容已添加到我的启用站点的/ 000-default文件中.这让uglysite.mydomain.com正常工作,但是mydomain.com映射到了同样的东西!
有没有直接的方式去做我打算做的事情?提前致谢.
我有一个安装了apache2的VPS,我想访问一些没有域名的PHP项目,只有IP地址.例如:
http://162.243.93.216/projecta/index.php
http://162.243.93.216/projectb/index.php
Run Code Online (Sandbox Code Playgroud)
我在其目录/ var/www /中有像example.com这样的域名的其他项目
/html/
info.php
/projecta/
/projectb/
/example/
Run Code Online (Sandbox Code Playgroud)
当我去
http://162.243.93.216/info.php then /var/www/html/info.php is opened.
Run Code Online (Sandbox Code Playgroud)
我的文件000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud) 我在一个vps中分别在两个docker容器中运行两个网站.例如www.myblog.com和www.mybusiness.com
如何在vps中实现virtualhost,以便两个网站都可以使用端口80.
我在其他地方问了这个问题,并建议看看:https://github.com/hipache/hipache和https://www.tutum.co/ 它们看起来有点弯曲.我试图找到是否有一种直接的方法来实现这一点.谢谢!
另外,忘了提我的vps是Ubuntu 14.04的盒子.
我按照这些说明为apache配置子域.http://localhost/test虽然我无法访问子域,但我可以访问子域http://test.localhost.我怎么才能意识到后者呢?
# /etc/apache2/sites-available/test.localhost
<VirtualHost *:80>
# Server name
ServerName test.localhost
# Document root
DocumentRoot /var/www/test/
# Custom log file locations
ErrorLog /var/www/test/logs/error.log
CustomLog /var/www/test/logs/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud) 是否可以将CNAME用于不同的域名,例如
www.domain2.com CNAME www.domain1.com
两者都是来自同一服务器但不同虚拟主机的服务器(根路径不同)
我最近将我的工作机器更新为macOS Sierra,现在我的虚拟主机配置都没有工作.我需要重新配置所有这些是一个巨大的痛苦.
我在想 - 这种情况发生是否正常?当我更新操作系统时,有没有办法防止将来发生这种情况?
此外,我的虚拟主机配置似乎无法正常工作.请看下面.
我编辑/etc/apache2/extra/httpd-vhosts.conf过包括:
<VirtualHost *:80>
ServerAdmin lbanach@splashworldwide.com
DocumentRoot "/Users/splashnw/Sites/tm-charts"
ServerName tm-charts.dev
ErrorLog "/private/var/log/apache2/tm-charts.dev-error_log"
CustomLog "/private/var/log/apache2/tm-charts.dev-access_log" common
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
而且,我的/etc/hosts文件有:
127.0.0.1 tm-charts.dev
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中导航到tm-charts.dev时,只会出现一条消息:"它有效!" 不是我在安装macOS Sierra之前在该URL上看到的项目.
你能告诉我这里出了什么问题吗?谢谢!
当为ssl/https连接配置apache2虚拟主机时,在添加配置并使用此命令启用配置"a2ensite pm.university.com.conf"后,我收到此错误"无效命令'SSLEngine',可能拼写错误或由模块定义包含在服务器配置中".我会回答我自己的问题.