您可以尝试其他人在此线程中提供的解决方案(即编程解决方案),或者作为替代方案,我会做一些不同的事情(安装设置方案)。
对于我来说,我喜欢创建一个独立的环境,在这个环境中,我的项目和开发文件与XAMPP尽可能分离(我正在使用XAMPP,但原则适用于其他托管环境)。这使我能够轻松安装XAMPP的新更新,而不必担心我的项目,并且我也喜欢将所有项目放在一个专门用于开发的文件夹中。这个开发文件夹将包含用于Web、移动和其他环境的项目。
我设置的方式是,我有一个名为 c:\ dev \ 的文件夹,其中包含我的项目列表,每个项目都是独立的。所以,例如, c:\ dev \ project1 \ , c:\ dev \ project2 \ 等等。
现在,在我为开发创建这些文件夹之后,我确保 httpd-vhosts.conf 文件(位于 c:\ xampp \ apache \ conf \ extra \ )和 hosts 文件(位于 c:\ Windows \ System32 \ drivers \ etc \ )具有正确的引用。
假设我的一个项目叫做 project1 。它通常位于 c:\ xampp \ htdocs \ project1 ,那么我通常会通过浏览器访问它,如 http:// localhost / project1
然而,为了拥有独立的环境,并且正如前面所解释的那样,我会在 c:驱动器中创建一个开发文件夹,称为 c:\ dev ,然后将 project1 移动到其中,并最终得到 c:\ dev \ project1
然后,为了通过在Web浏览器中键入 project1.dev 来访问该项目,我在 c:\ xampp \ apache \ conf \ extra \ 中附加了 httpd-vhosts.conf 文件,如下所示:
<VirtualHost project1.dev:80>
ServerAdmin admin@project1.dev
DocumentRoot "C:/dev/project1"
ServerName project1.dev
ServerAlias www.project1.dev
ErrorLog "logs/project1.dev.error.log"
CustomLog "logs/project1.dev.access.log" combined
<Directory "C:/dev/project1">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
另外,我需要更新 hosts
文件(位于 c:\Windows\System32\drivers\etc\
),并添加以下条目:
127.0.0.1 project1.dev
127.0.0.1 www.project1.dev
(其中127.0.0.1与localhost相同。另外请注意,您必须在hosts
文件中添加第二个条目以用于www
别名)。
这使我可以访问我的项目:http://project1.dev
设置完成后,我现在可以为我的开发和生产环境编写一致的代码,并且对根目录的引用将正常工作。
此外,通过这种设置,我不需要担心是否需要更新XAMPP或切换到LAMP或其他任何事情,我只需要确保处理一个文件,即我的设置文件httpd-vhosts.conf
。正如我提到的,我总是喜欢为开发建立单独的文件夹,并且我可以在开发环境中拥有不同类型的项目,例如移动项目、Web项目等等。
希望这能帮到您。
关于多站点(子域设置)的说明
如果您想要设置多站点(子域设置),则在按照WordPress说明启用WordPress多站点之后,您需要执行以下操作:
假设您想要使用以下结构进行多站点设置:
project1.dev
www.project1.dev (this is an alias to project1.dev)
sub.project1.dev (this is another setup, subdomain)
然后,您需要将以下条目添加到
httpd-vhosts.conf
中。
<VirtualHost sub.project1.dev:80>
ServerAdmin admin@project1.dev
DocumentRoot "C:/dev/project1"
ServerName sub.project1.dev
ErrorLog "logs/sub.project1.dev.error.log"
CustomLog "logs/sub.project1.dev.access.log" combined
<Directory "C:/dev/project1">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
请更新 hosts
文件以包含以下内容:
127.0.0.1 www.project1.dev
请注意,
DocumentRoot
指向主站和子域站点的同一目录。
在WordPress网络中添加每个新子域时,请重复此过程。