没有域名的Apache虚拟主机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有域名的Apache虚拟主机相关的知识,希望对你有一定的参考价值。

我有一个安装了apache2的VPS,我想访问一些没有域名的php项目,只有IP地址。例如:

http://162.243.93.216/projecta/index.php
http://162.243.93.216/projectb/index.php

我在其目录/ var / www /中有像example.com这样的域名的其他项目

/html/
   info.php
/projecta/
/projectb/
/example/

当我去

http://162.243.93.216/info.php then /var/www/html/info.php is opened. 

我的文件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>
答案
" http://162.243.93.216/info.php then /var/www/html/info.php is opened "

我假设这已经有效(如果没有,取消注释下面的conf中显示的ServerAlias线)

你现在想要映射

http://162.243.93.216/projecta//var/www/projecta http://162.243.93.216/projectb//var/www/projectb

为此,您需要使用Apache Alias指令。

Update your 000-default.conf file to:

<VirtualHost *:80>
    # ServerAlias 162.243.93.216
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    Alias /projecta /var/www/projecta
    Alias /projectb /var/www/projectb

    <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>
另一答案

创建一个新的虚拟主机文件,并设置如下:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerAlias 192.168.1.1 
        DocumentRoot /somewhere/public_html
        <Directory /somewhere/public_html/>
         Options Indexes FollowSymLinks MultiViews ExecCGI
         AllowOverride Authconfig FileInfo
         Require all granted
        </Directory>
</VirtualHost>

添加serveralias,它也将识别IP地址...如果你想添加更多的IP地址(如本地网络第二界面),你可以添加更多的serveralias行......

另一答案

第六步 - 设置本地主机文件(可选)如果您一直在使用示例域而不是实际域来测试此过程,则仍可以通过临时修改“LOCAL COMPUTER”上的hosts文件来测试虚拟主机的功能。这将拦截您配置的域的任何请求并将它们指向您的VPS服务器,就像您使用注册域时DNS系统一样。但这仅适用于“您的计算机”,并且仅用于测试目的。

注意:确保您在本地计算机上运行这些步骤而不是VPS服务器。您将需要访问该计算机的管理凭据。

如果您使用的是Mac或Linux计算机,请键入以下命令编辑具有管理权限的本地主机文件:

sudo vi / etc / hosts如果您使用的是Windows计算机,则可以在此处找到有关更改主机文件的说明。

您需要添加的详细信息是VPS的公共IP地址,后跟您要用于访问该VPS的域:

127.0.0.1 localhost 127.0.1.1 guest-desktop server_ip_address example.com server_ip_address example2.com

参考:https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-centos-7?utm_source=Customerio&utm_medium=Email_Internal&utm_campaign=Email_CentOSDistroNginxWelcome&mkt_tok=eyJpIjoiTnpWbU5tUTJPV1F5TVRBMyIsInQiOiJhd0JCQVI0NDd0ZWprUDFaaDlhbENcL0lyTjdSbnhwMEpkTE1QcXJTcHl1ZXFhNURKVmVBZHFKMk92RW1kSFwvMHowOW0zcExhaUdyOU42U2lLbk1Cd2FRYzB4XC9lbkhlWnd1ekZOcW1sZVhRYlwvT0xrTUpmQ2dEK2dNVUw4alFrc00ifQ%3D%3D

以上是关于没有域名的Apache虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

Apache配置虚拟域名

PHP本地实现多域名访问教程之Apache虚拟主机配置方法

apache2.4怎么屏蔽其他域名

配置apache虚拟域名(phpStudy2016)

apache 基于域名虚拟主机配置,本机上访问 www.test.com指向 127.0.0.1/test

Apache服务器——基于不同端口不同域名搭建的虚拟Web主机