如何使用 htaccess 从 URL 转发中排除个别文件类型
How can I exclude individual file types from URL forwarding with htaccess
我想将在浏览器中输入的每个 url 重定向到 index.php。
这也适用于我的代码。例如:
url.com/test1/test2/test3
url.com/test1/test2
url.com/test1
CSS图片和JS文件也一直转发。
我现在必须从重定向中排除具有某些扩展名(css、js、jpg、png、pdf)的文件。
我在 htaccess 文件中的代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path= [NC,L,QSA]
我在索引文件中导入 css 文件的代码:
<link href="css/bootstrap.min.css" rel="stylesheet">
如果我输入“url.com/test”,我的 css 文件的集成工作。当我输入“url.com/test/test2”时,样式表文件没有加载。
首先确保将 htaccess 规则文件放入根目录。您可能需要使用 base 标记来修复您的 js 和其他相关资源。如果您使用相对路径链接 js 文件,那么该文件显然会得到 404,因为它正在寻找 URL 路径。例如,如果 URL 路径是 /file/ 而不是 file.html 那么您的相关资源将从 /file/ 加载,这不是目录而是重写的 html 文件。要解决此问题,请使您的链接成为绝对链接或使用 base 标记。在您网页的 header 中添加此 <base href="/">
以便您的相关链接可以从正确的位置加载。
请确保在测试您的 URL 之前清除您的浏览器缓存。
我想将在浏览器中输入的每个 url 重定向到 index.php。
这也适用于我的代码。例如:
url.com/test1/test2/test3
url.com/test1/test2
url.com/test1
CSS图片和JS文件也一直转发。 我现在必须从重定向中排除具有某些扩展名(css、js、jpg、png、pdf)的文件。
我在 htaccess 文件中的代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path= [NC,L,QSA]
我在索引文件中导入 css 文件的代码:
<link href="css/bootstrap.min.css" rel="stylesheet">
如果我输入“url.com/test”,我的 css 文件的集成工作。当我输入“url.com/test/test2”时,样式表文件没有加载。
首先确保将 htaccess 规则文件放入根目录。您可能需要使用 base 标记来修复您的 js 和其他相关资源。如果您使用相对路径链接 js 文件,那么该文件显然会得到 404,因为它正在寻找 URL 路径。例如,如果 URL 路径是 /file/ 而不是 file.html 那么您的相关资源将从 /file/ 加载,这不是目录而是重写的 html 文件。要解决此问题,请使您的链接成为绝对链接或使用 base 标记。在您网页的 header 中添加此 <base href="/">
以便您的相关链接可以从正确的位置加载。
请确保在测试您的 URL 之前清除您的浏览器缓存。