这个问题涉及这两个问题: Creating Ajax website with links of multiple subfolders is failing和SVG href ID is not found when being on a subsite/subfolder,但不需要阅读。
所以我想知道如何启用 重定向多个子文件夹 htaccess 。这是我目前的htaccess文件:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php [L]
顺便说一句:我删除了index.html中的整个基本路径元标记,因为它比对我使用更麻烦。
基本上,网站在正确上显示:
但无法正常工作:
那么如何更改htaccress文件,以便最后两个URL重定向到index.html。我的意思是这里的问题是我相信不是SVG问题,这是一个非常简单的 htaccess问题。
我发现重定向是正确的。只是所有外部css,js等文件都没有正确定位。
那我该如何使用
<link rel="stylesheet" type="text/css" href="css/default.css" media="screen"/>
而不是
<link rel="stylesheet" type="text/css" href="http://localhost/css/default.css" media="screen"/>
没有基本路径元标记。如果我在代码的任何地方更改相对于绝对路径,那么它正在工作......
我知道这是比萨尔。但正如你所看到的那样,基本路径有利有弊。以及绝对和相对的角色。
答案 0 :(得分:1)
通过添加以下内容从重定向中排除您的css,js和图像文件。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/(?:css|js|maps|pics) [NC]
RewriteRule (/(?:css|js|maps|pics)/.*)$ $1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^ index.php [L]