我是一个新的网络开发,所以请耐心等待。尽管我搜索了很多次,但我可能还是遗漏了一些东西。
当我打开一个html文件(当然是从Apache提供的目录中打开的)时,它会在浏览器中打开,但url是:
file:///C:/xampp/htdocs/path/to/file.html
这样它就不会由Apache提供服务,所以为了使它工作,我必须将路径的host部分重命名为主机的名称。
C:/扩展名/htdocs/
那么我必须将url的这一部分重命名为hostname,在本例中,如果Apache要提供该页面,则必须将"file:///C:/xampp/htdocs/path/to/file.html"
重命名为"localhost/path/to/file.html"
。
我曾尝试添加一个在其路径中包含“file:///”的虚拟主机,但这会导致Apache(和xampp)崩溃。
**问题:**在打开Apache提供服务的本地html文件时,是否有办法避免手动重命名url?
3条答案
按热度按时间ljo96ir51#
我知道这个线程已经有一段时间没有任何活动了,但是我已经为这个场景创建了一个Chrome扩展。
名称为Localhost Automate,它根据预定义的文件夹将开发人员重定向到
http://localhost
。https://chrome.google.com/webstore/detail/localhost-automate/pplnfonehjimoddpmnhldhkgojhkjcfh
还有github回购协议; https://github.com/Ardethian/localhost_automate
u0sqgete2#
对chrome做了一个小的“url 2 hostname”扩展,这样我每次在chrome中打开一个本地html文件时,就可以节省1.42秒的url点击和重命名时间。
我为一个dropbox目录设置了一个虚拟主机,所以在httpd-vhosts.conf中:
所以在
"C:\Users\hns\Dropbox\Webb"
中我保存了很多网页,我只是想在本地测试它们(它们必须由apache服务才能正常工作)。当我在chrome中打开它们时,url会变得混乱,比如"file:///C:/Users/hns/Dropbox/Webb/f/index.html"
。所以在这种情况下,我必须选择url的"file:///C:/Users/hns/Dropbox/Webb"
部分,并将其重命名为servername,这样它就变成了:"http://locahost/f/index.html"
.因此,当我打开一个本地html文件并单击chrome扩展时,它只会替换url中的路径和协议,并转到生成的url(然后正确加载):
嘿,至少我学到了一些东西:)
编辑:
真实的的问题不是Apache,而是Chrome和跨源代码:
由于“同源策略”,有时网站内容无法在本地正确显示。所以在我的情况下,这个问题本可以通过从带有
–allow-file-access-from-files
或–disable-web-security
等标志的快捷方式启动chrome来关闭该策略来解决。w9apscun3#
我找到了一个更好的方法,不需要扩展,并适用于每一个浏览器。
编辑httpd-vhosts.conf文件(在我的系统E:\xampp\apache\conf\extra中编辑httpd-vhosts.conf)
添加以下行并保存文件,不要删除任何内容
“虚拟主机 *:80
服务器名称localhost
服务器别名本地主机
文档根目录e:/xampp/htdocs //或您想要的任何链接//
/虚拟主机”
重新启动Xampp