您可以尝试此线程中其他人提供的解决方案(它们是编程解决方案),或者作为替代方案,我会做一些不同的事情(设置解决方案)。
对我来说,我喜欢创建一个独立的环境,在这个环境中我的项目和开发文件尽可能与 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 移动到其中,并以@ 结束987654334@
然后,为了通过在 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 或其他任何东西,我只关心确保我只处理一个文件,这是我的设置文件 @987654345 @。正如我所提到的,我总是喜欢有一个单独的文件夹用于开发,并且我可以在开发环境中拥有不同类型的项目,例如,移动项目、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 网络中添加的每个新子域重复此过程。