Apache配置:自动重命名";file:///C:/xampp/htdocs/" 至;“本地主机”;打开本地html文件时在url中
我是网络开发新手,所以请容忍我。尽管我做了很多搜索,我可能还是遗漏了一些东西 当我打开一个html文件(当然是从Apache提供服务的目录中打开)时,它会在浏览器中打开,但url是: file:///C:/xampp/htdocs/path/to/file.html 这样一来,它就不会由Apache提供服务,因此为了实现这一点,我必须将路径的主机部分重命名为主机名。因此,如果主机路径是 C:/xampp/htdocs/ 然后我必须将url的这一部分重命名为主机名,在本例中为Apache配置:自动重命名";file:///C:/xampp/htdocs/" 至;“本地主机”;打开本地html文件时在url中,apache,url,xampp,virtual-hosts,Apache,Url,Xampp,Virtual Hosts,我是网络开发新手,所以请容忍我。尽管我做了很多搜索,我可能还是遗漏了一些东西 当我打开一个html文件(当然是从Apache提供服务的目录中打开)时,它会在浏览器中打开,但url是: file:///C:/xampp/htdocs/path/to/file.html 这样一来,它就不会由Apache提供服务,因此为了实现这一点,我必须将路径的主机部分重命名为主机名。因此,如果主机路径是 C:/xampp/htdocs/ 然后我必须将url的这一部分重命名为主机名,在本例中为”file:///C:
”file:///C:/xampp/htdocs/path/to/file.html“
必须重命名为“localhost/path/to/file.html”
,如果Apache要为该页面提供服务
我尝试添加一个虚拟主机,该主机的路径中包含“file:///”,但这会使Apache(和xampp)崩溃
问题:在打开Apache提供服务的本地html文件时,有没有办法避免手动重命名url?对chrome做了一个小小的“url2hostname”扩展,这样每次在chrome中打开本地html文件时,我就可以节省1.42秒的url单击和重命名时间。为了保持连贯性和重复性,我将把它写下来
我为dropbox目录设置了一个虚拟主机。因此,在httpd-vhosts.conf中:
<VirtualHost *>
DocumentRoot "C:\Users\hns\Dropbox\Webb"
ServerName localhost
<Directory "C:\Users\hns\Dropbox\Webb>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory> </VirtualHost>
嘿,至少我学到了一些东西:)
编辑:
真正的问题不是Apache,而是Chrome和cross-origin:
由于“同源策略”,有时网站内容无法在本地正确显示。所以在我的例子中,这个问题可以通过关闭该策略来解决,方法是从带有标志的快捷方式启动chrome,如–允许从文件访问文件或
–禁用web安全性
我知道该线程已经有一段时间没有任何活动了,但我已经为该场景创建了一个Chrome扩展。:)
名称为Localhost automation,它将开发人员重定向到http://localhost
根据预定义的文件夹
我希望有人会觉得这很有用。:)
还有github回购协议
享受:)我找到了一种更好的方法,无需扩展,适用于所有浏览器
编辑httpd-vhosts.conf文件(在我的系统E:\xampp\apache\conf\extra中,编辑httpd-vhosts.conf)
添加以下行并保存文件,不要删除任何内容
“虚拟主机*:80
服务器名本地主机
服务器别名本地主机
DocumentRoot e:/xampp/htdocs//或任何您想要的链接//
/虚拟主机”
重新启动XamppURL永远不会自动变为file://...
如果您通过http://localhost
。没有任何规则会导致这种转换。确切的链接是什么样子的?可能是链接本身指向文件://
?谢谢Pekka,你让我不用在chrome中搜索规则:)我的解决方案发布在下面。太好了!工作起来很有魅力。
chrome.browserAction.onClicked.addListener(function() {
chrome.tabs.query({'active': true, 'currentWindow': true}, function (tabs) {
var currentURL = tabs[0].url;
newURL = currentURL.replace("file:///C:/Users/hns/Dropbox/Webb", "http://localhost");
chrome.tabs.update(tabs[0].id, {url: newURL});
})
});