MAC 和 LAMP 上的 Apache 虚拟主机配置

Apache virtual host configuration on MAC with LAMP

我在 MAC 上遇到 Apache 虚拟主机配置问题。

对于我的设置,我已将 127.0.0.1 test.wp 添加到我的 /private/etc/host 文件中,并通过取消注释 lampp/etc/httpd.conf 文件中的 Include etc/extra/httpd-vhosts.conf 行来包含它。

我还用下面的虚拟主机配置编辑了我的 lampp/etc/extra/httpd-vhost.conf 文件;

<VirtualHost *:80>
  ServerName test.wp
  DocumentRoot "/opt/lampp/htdocs/test.wp"
  <Directory "/opt/lampp/htdocs/test.wp">
    Options Indexes FollowSymLinks Includes execCGI
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

当我访问 http://test.wp 时,当 siteurlhome 都定义为 http://test.wp 时,我看到 It works! 而不是 WordPress 站点。

另一方面,当我将 siteurlhome 都定义为 http://test.wp:8080 时,我可以访问该地址的 WordPress 站点。

如何在 http://test.wp 的默认端口 80 上提供 WordPress 站点服务?

TL;博士

侦听端口 80 的 Apache 虚拟主机的 DocumentRoot 指向提供 It works! 内容的目录(很可能在您的默认 Apache 配置中)。

您可能希望找到并编辑它以映射到您的 WordPress 站点的目录。

或者,您可以对其进行注释并在专用配置文件中定义您自己的虚拟主机,然后将其包含在您的主 httpd.conf 文件中。


您需要确保以下几点:

  1. 您的 WordPress 项目应该位于您的 /opt/lampp/htdocs/test.wp 目录中。

下面的代码片段说明了上面的要求;

# Content of your /opt/lampp/htdocs/test.wp directory

/opt/lampp/htdocs/test.wp/
├── wp-admin/
│   └── [wp-admin directory contents]
├── wp-content/
│   └── [wp-content directory contents]
├── wp-includes/
│   └── [wp-includes directory contents]
├── index.php
├── license.txt
├── readme.html
├── wp-activate.php
├── wp-blog-header.php
├── wp-comments-post.php
├── wp-config-sample.php
├── wp-cron.php
├── wp-links-opml.php
├── wp-load.php
├── wp-login.php
├── wp-mail.php
├── wp-settings.php
├── wp-signup.php
├── wp-trackback.php
└── xmlrpc.php
  1. Apache 仅在端口 80 上侦听(出于您所需的目的),您的虚拟主机配置在上面的 post 中共享。

  2. 检查您的 Apache 配置文件(默认和类似的细节)并注释所有您不需要的虚拟主机配置。

  3. 将您的 WordPress siteurlhome URL 定义为 http://test.wp.

  4. 如下图所示编辑您的主机文件;

127.0.0.1       localhost
127.0.0.1       test.wp