Apache配置:打开本地html文件时,自动将url中的“file:///C:/xampp/htdocs/”重命名为“localhost”

sqougxex  于 2022-11-16  发布在  Apache
关注(0)|答案(3)|浏览(177)

我是一个新的网络开发,所以请耐心等待。尽管我搜索了很多次,但我可能还是遗漏了一些东西。
当我打开一个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?

ljo96ir5

ljo96ir51#

我知道这个线程已经有一段时间没有任何活动了,但是我已经为这个场景创建了一个Chrome扩展。
名称为Localhost Automate,它根据预定义的文件夹将开发人员重定向到http://localhost
https://chrome.google.com/webstore/detail/localhost-automate/pplnfonehjimoddpmnhldhkgojhkjcfh
还有github回购协议; https://github.com/Ardethian/localhost_automate

u0sqgete

u0sqgete2#

对chrome做了一个小的“url 2 hostname”扩展,这样我每次在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>

所以在"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(然后正确加载):

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});
    })
});

嘿,至少我学到了一些东西:)

编辑:

真实的的问题不是Apache,而是Chrome和跨源代码:
由于“同源策略”,有时网站内容无法在本地正确显示。所以在我的情况下,这个问题本可以通过从带有–allow-file-access-from-files–disable-web-security等标志的快捷方式启动chrome来关闭该策略来解决。

w9apscun

w9apscun3#

我找到了一个更好的方法,不需要扩展,并适用于每一个浏览器。
编辑httpd-vhosts.conf文件(在我的系统E:\xampp\apache\conf\extra中编辑httpd-vhosts.conf)
添加以下行并保存文件,不要删除任何内容
“虚拟主机 *:80
服务器名称localhost
服务器别名本地主机
文档根目录e:/xampp/htdocs //或您想要的任何链接//
/虚拟主机”
重新启动Xampp

相关问题