Zob*_*ris 6 html javascript css php .htaccess
我有一堆网址,我想重定向到一个页面.在我的.htaccess文件中,我有......
FallbackResource home.php
Run Code Online (Sandbox Code Playgroud)
因此,任何链接都将重定向到该页面,其中我有一个PHP脚本,它接收URL并从mysql表加载页面.我构建了一个没有脚本/样式资源的测试页面,一切正常.但是,当我添加我的风格和JavaScript时,我收到以下错误:
main.js:1 Uncaught SyntaxError: Unexpected token <
Run Code Online (Sandbox Code Playgroud)
只有/在其中包含" "的网址才会显示此错误.
localhost/home.php显示我的页面应该没有内容.localhost/tax-information将显示home.php,内容已localhost/tax-information/school-authority-contact-information将显示home.php与加载的税务信息/学校当局接触信息"的内容,但会抛出错误,并将结果呈现不样式表或有任何工作的JavaScript.错误看起来像这样:
Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost/toh/tax-information/css/style.css".
Uncaught SyntaxError: Unexpected token <
Run Code Online (Sandbox Code Playgroud)
我知道这是因为加载的资源<在第一个字符中有一个' ',但这对css这样的资源没有意义.
所以我检查了我的网络选项卡,看看正在加载什么资源,并且它正在加载错误路径中的每个资源.
<style src="css/style.css>最终加载localhost/toh/tax-information/css/style.css而不是localhost/css/style.css.打开该文件后,它不是CSS,而是所请求页面的完整HTML(因此是' Unexpected token <'错误).当您在网络选项卡中单击它们时,即使这些图片最终也会变成HTML.通过cdn加载的任何东西(所以任何完整的URL资源)加载都很好.
这仅适用于具有辅助路径的URL(localhost/this/that),但为仅作为主路径的任何内容(localhost/this)加载正确的资源.
我可以看到问题是由FallbackResource以某种方式引起的,并使用相对路径来加载资源.如果我将资源的路径更改为绝对路径(比如css/style.css - > http://localhost/css/style.css),那么它可以正常工作而没有任何问题.将所有内容重新编码为绝对路径将解决我的问题,但不是一个实际的解决方案.这让我相信我的问题是我的.htaccess.是否有另一种方法可以将所有URL路径重定向到单个页面并让它们通过相对路径加载资源?
您似乎在链接中使用了相对路径,css这js就是为什么您的相对资源从错误的目的地而不是正确的目的地加载的原因。
要解决此问题,您可以在链接中使用绝对路径(即)或在网页标题中/style.css使用标记。Base在两者之间 <head>添加</head>以下内容:
<base href="/">
Run Code Online (Sandbox Code Playgroud)
/上面的基本标签告诉网络服务器从(主目录)加载相关资源。因此,如果您的css文件位于/style根文件夹中,您的 Web 服务器将尝试从真实路径加载它, /style/file.css而不是查看请求的 uri。
另请参阅此:
| 归档时间: |
|
| 查看次数: |
253 次 |
| 最近记录: |