在xampp中使用域名而不是localhost和https

Jee*_*ari 28 php apache xampp localhost domain-name

我的问题可能是愚蠢的,但说实话,我搜索了很多并取得了成功,但并未完成.

我在Windows 8中使用xampp.

我的主机文件如下所示.

    127.0.0.1   localhost
    127.0.0.1   www.mysite.com
Run Code Online (Sandbox Code Playgroud)

我的httpd-vhosts.config如下所示.

    NameVirtualHost 127.0.0.1
    <VirtualHost 127.0.0.1>
        DocumentRoot "C:/xampp/htdocs"
        ServerName localhost
    </VirtualHost>
    <VirtualHost 127.0.0.1>
        ServerName www.mysite.com
        ServerAlias mysite.com
        DocumentRoot "C:/xampp/htdocs/mysite"
    </VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这适用于http.但是我启用了ssl.

当我打字http://localhost或者https://localhost,两者都很好.

当我输入http://mysite.com它时,

当我键入https://mysite.com它被重定向为,https://mysite.com/xampp/并显示xampp的默认欢迎页面.

我试过跟踪的事情.

1)而不是使用127.0.0.1,我尝试在httpd-vhosts.conf中使用*:80但结果是相同的.

2)而不是使用127.0.0.1,我尝试在httpd-vhosts.conf中使用*:443但是在重启时apache无法再次启动.

请告诉我如何通过域名而不是使用https或http的localhost访问我的网站.

Jee*_*ari 21

我尝试了很多东西,但我想我错过了基本编辑.

现在一切正常.

现在主机文件仍然与上面提到的相同.我没有对它做任何改动.

我在httpd-vhosts.config中更改了端口,如下所示.

NameVirtualHost *
    <VirtualHost *>
        DocumentRoot "C:/xampp/htdocs"
        ServerName localhost
    </VirtualHost>
    <VirtualHost *>
        ServerName www.mysite.com
        ServerAlias mysite.com
        DocumentRoot "C:/xampp/htdocs/mysite"
    </VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我错过的步骤是在httpd-vhosts.config的同一文件夹中编辑httpd-ssl.config文件.

我刚刚在http-ssl.config文件的最后一行之前添加了以下行,即</ IfModule>

<VirtualHost _default_:443> 
    DocumentRoot "C:/xampp/htdocs/mysite" 
    ServerName www.mysite.com:443 
    ServerAlias mysite.com:443  
    SSLEngine on 
    SSLCertificateFile "conf/ssl.crt/server.crt" 
    SSLCertificateKeyFile "conf/ssl.key/server.key" 
</VirtualHost> 
Run Code Online (Sandbox Code Playgroud)

感谢所有朋友在这方面帮助我很多,没有你的链接我永远无法发现我需要再编辑一个文件.


Anu*_*ant 10

让我一步一步解释其他人.

1.将自定义域名映射到HOSTS文件中的localhost.

打开hosts文件并添加到下面的行.

127.0.0.1 www.example.com
Run Code Online (Sandbox Code Playgroud)

2.告诉XAMPP您的自定义域名.

将以下内容添加到httpd-vhosts.conf

<VirtualHost *>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot "C:/xampp/htdocs/example"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

如果您有本地主机的端口,则将其添加为 <VirtualHost *:80>

重启apache,现在您可以在浏览器中访问http://example.com.

3.如果要访问https://example.com

将以下行添加到httpd-vhosts.conf

<VirtualHost *:443>
    DocumentRoot "C:/xampp/htdocs/example"
    ServerName www.example.com
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"
    <Directory "C:/xampp/htdocs/example">
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

参考.Codepetals