【发布时间】:2016-03-31 13:45:40
【问题描述】:
我正在构建一个 MVC 应用程序,但在 html 中的 css 文件、js 和图像 的路径存在一些问题......我得到了使用 <base> 标签的解决方案定义所有 html 文件遵循的路径,例如:<base href="http://localhost/mvc/>,只有来回在安装 javascript 插件时遇到了一些问题,因为当我输入,例如,href="#" 时,点击而不是执行任何操作,链接取了我到使用<base> 标签定义的 URL 将是 http://localhost/mvc/#,我想知道如何将这些文件的所有“请求”重定向到子文件夹,例如:
<link rel="stylesheet" href="main.css">
<img src="images/img2.jpg" />
所有请求都指向一个子文件夹,例如PUBLIC,只需在该public中设置html文件夹...
HTACCESS 文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
【问题讨论】:
-
这是一个客户端问题,因此应该在 HTML、CSS 和 JS 中解决客户端问题,而不是在 .htaccess 中进行重定向。 (即使您确实设法在 .httaccess 中解决它,它也将不必要地低效。)正如您所提到的,它应该通过使用
head部分中的base元素或使用 root-relative 来解决(以斜杠开头)或客户端代码中的绝对 URL(即不是相对的)。使用相对 URL 最终是问题所在。相对于什么?