如何解决Windows-VirtualHost中的Apache DocumentRoot被忽略 有效的最终代码:
在Windows 7 PC上,我正在使用XAMPP => Apache运行测试Web服务器。但是对于某些网站,我不希望使用常规的“ C:\ xampp \ htdocs”,而是想要使用自定义路径-在我使用Ubuntu时,我通常以DocumentRoot
的身份在VirtualHost中进行设置,并且可以正常工作。
在此PC上,目标路径类似于:"C:\Users\X\disk External\DIRWITHDIÁCRÍCÍCS\WEBS\some path\path"
但是在此PC上,当我这样做
<VirtualHost test2020.test:443>
DocumentRoot "C:\Users\X\disk External\DIRWITHDIÁCRÍCÍCS\WEBS\some path\path"
ServerName test2020.test
ServerAlias www.test2020.test
</VirtualHost>
DocumentRoot指令被完全忽略-它似乎仍以默认C:\xampp\htdocs
我还尝试了在系统中移动文件并更改前/后斜杠均未成功:
DocumentRoot "C:/Users/X/disk External/DIRWITHDIÁCRÍCÍCS/WEBS/some path/path"
DocumentRoot C:\xampp\htdocs\testdocumentroot
DocumentRoot "C:\Users\X\www"
我还尝试了DocumentRoot和ServerName的交换顺序,但没有成功。
我已经检查过C:\ xampp \ apache \ conf \ httpd.conf-Include conf/extra/httpd-vhosts.conf
行未注释。
如果设置错误,文件C:\xampp\apache\conf\extra\httpd-vhosts.conf
似乎会影响apache的启动。
编辑:我也确实在每次尝试之间重新启动了Apache:)
我想念什么?
解决方法
所以这只是我的白痴,我试图对所有内容进行域划分,但是VirtualHost标记内的指令 attribute 用于网络传入限制。对于常规情况,*
很好,然后我也遇到了目录标记指令的问题,因为显然Apache 2.4+有一个新指令
=> <VirtualHost test2020.test:443>
<VirtualHost *:443>
有效的最终代码:
# (or *:80 for http://,443 is for https://)
<VirtualHost *:443>
DocumentRoot "C:\Users\X\Disk External\DIRWITHDIÁCRÍCÍCS\WEBS\some path\path"
ServerName test2020.test
ServerAlias www.test2020.test
<Directory "C:\Users\X\Disk External\DIRWITHDIÁCRÍCÍCS\WEBS\some path\path">
# NEW&SIMPLE FROM APACHE 2.4+ !
Require all granted
</Directory>
</VirtualHost>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。