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

时间:2013-04-26 05:05:35

标签: php apache xampp localhost domain-name

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

我在Windows 8中使用xampp。

我的主机文件如下所示。

    127.0.0.1   localhost
    127.0.0.1   www.mysite.com

我的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>

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

当我输入http://localhosthttps://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访问我的网站。

6 个答案:

答案 0 :(得分: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>

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

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

<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> 

感谢所有朋友帮助我解决这个问题,如果没有您的链接,我将永远无法发现我需要再编辑一个文件。

答案 1 :(得分:10)

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

<强> 1。将您的自定义域名映射到HOSTS文件中的localhost。

打开hosts文件并添加到以下行。

127.0.0.1 www.example.com

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

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

<VirtualHost *>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot "C:/xampp/htdocs/example"
</VirtualHost>

如果您有本地主机的端口,请将其添加为 <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>

答案 2 :(得分:1)

我从多个自定义域开始。请参阅以下新代码:

注意:WordPress剥离反斜杠,所以下面我用正斜杠替换它们。无论哪种方式,我都相信它。

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/Users/Austin Passy/Documents/InMotion Hosting/frostywebdev.com/html"
    ServerName frostyweb.dev
    <Directory "C:/Users/Austin Passy/Documents/InMotion Hosting/frostywebdev.com/html">
    Options Indexes FollowSymLinks ExecCGI Includes
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/eateryengine"
    ServerName eateryengine.dev
    <Directory "C:/xampp/htdocs/eateryengine">
    Options Indexes FollowSymLinks ExecCGI Includes
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

答案 3 :(得分:0)

我对apache不太熟悉,但也许没有指定端口默认为:80并添加它会神奇地修复所有内容?

<VirtualHost 127.0.0.1:443>
    ServerName www.mysite.com
    ServerAlias mysite.com
    DocumentRoot "C:/xampp/htdocs/mysite"
</VirtualHost>

答案 4 :(得分:0)

我一直在谷歌搜索数小时试图弄清楚为什么最新的XAMPP版本在页面生成时间上放置了1200MS ...我认为这可能是我的代码使用了一些非常复杂的类系统......这个帖子指出了整个localhost&lt;&gt; 127.0.0.1

我在Windows 7上,我不认为使用CMD“ping localhost”

结果是“:: 1:”而不是127.0.0.1

快速windows / system32 / drivers / etc / host文件编辑后取消注释行

127.0.0.0 localhost

我的页面时间恢复正常。可能是其他人最近遇到这个问题并且看到这个帖子在Google中排名第一,然后祝你好运!

答案 5 :(得分:-1)

我在localhost上使用自己的域(以.lc结尾)用于开发Web应用程序。我将描述动态.lc域和开发环境的简单解决方案,它不依赖于互联网连接。

我也在我的博客上写过:http://www.michalseidler.com/development/localhost-development-enviromet-for-php/

对于此示例,我尝试使用Wamp Server描述本地动态域* .lc的配置。我的项目存储在C:\ wamp \ www \ projects \ projectname \中,我使用动态maping projectname.lc。这意味着我可以使用域[project direktory name] .lc

访问每个项目目录

步骤1 - 配置本地WAMP服务器

首先,您需要将* .lc域配置到httpd.conf:

<VirtualHost 127.0.0.1>
ServerName lc
ServerAlias *.lc
DocumentRoot "C:\wamp\www\projects"
</VirtualHost>;

您需要将.htaccess文件插入到项目目录中(在我的示例中为:C:\ wamp \ www \ projects)此配置将* .ls域映射到项目目录。例如:如果您有direktory,myapp'的来源,您可以使用www.myapp.lc在浏览器中打开它。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^\.]*)\.([^\.]*)$
RewriteRule (.*) http://www.%1.%2/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.([^.]+)\.([^\.]*)$ [NC]
RewriteRule ^(.*)$ http://%1.%2.%3/$1 [L,R=301]

RewriteCond %{REQUEST_URI} !^projects/
RewriteCond %{REQUEST_URI} !^/projects/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteRule (.*) %3/$1 [DPI] 

此更改后重新启动Wamp Server

第2步 - 配置本地DNS服务器

因为我们不能在Windows主机文件中使用* .lc,所以我们需要安装本地DNS服务器。我选择了亚克力DNS服务器,因为配置非常简单。

安装后找到AcrylicHosts文件(C:\ Program Files(x86)\ Acrylic DNS Proxy)并插入新行:

127.0.0.1 *.lc

这只是我们需要的DNS配置,因此重新启动Acrylic DNS服务。

第3步 - 配置网络适配器

最后一步是安装新的假网络适配器并分配DNS服务器: 1.单击“开始”菜单。 2.搜索“cmd”。 3.右键单击“cmd”并选择“以管理员身份运行” 4.输入“hdwwiz.exe” 5.在“欢迎使用添加硬件向导”中,单击“下一步”。 6.选择“安装我从列表中手动选择的硬件(高级)”,然后单击“下一步”。 7.向下滚动并选择“网络适配器”,然后单击“下一步”。 8.在制造商“Microsoft”下选择,然后在网络适配器“Microsoft Loopback Adapter”下选择,然后单击“下一步”。

在下一步中,您必须更改新创建的适配器的TCP / IP设置: 1.使用Administrator帐户登录计算机。 2.单击“开始”,指向“控制面板”,然后单击“网络连接”。 3.右键单击Loopback连接,然后单击“属性”。 4.在“此连接使用以下项目”框中,单击“Internet协议(TCP / IP)”,然后单击“属性”。将出现“Internet协议(TCP / IP)属性”对话框。

IP addess: 192.168.1.1
Subnet mask: 255.255.255.0
Default Gateway: empty

Prefered DNS server: 127.0.0.1

现在关闭所有对话框并完成!您可以尝试打开[您的项目名称] .lc