.htaccess - 重定向有效,但无法加载 .css
问题描述
你好。我有一个受 .htaccess 保护的站点,它将所有内容重定向到 /pb 目录,但可直接访问的 /cron 目录除外(稍后它将受到保护)。我的 htaccess 工作(它根据我的需要重定向)但我无法将我直接调用的 .css .js 文件加载到我的索引页面中。我必须在我的 /pb 目录中放置一个新的 .htaccess 以允许访问 .css 还是可以在我的根 htaccess 中进行?我不明白。
我的 .htaccess 文件(无法删除 https 行“hostinger”)
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} (www\.)?XXXXXXXXX.net
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^(cron) - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^pb/ - [L]
RewriteCond %{DOCUMENT_ROOT}/pb/$1 -f
RewriteRule (.+) pb/$1 [L]
RewriteRule (.*) pb/index.php?path=$1 [L,QSA]
order deny,allow
deny from all
allow from XX.XXX.XXX.XX
谢谢你的帮助
解决方案
首先,我已经修复了您的 htacces 规则文件,已在规则文件中进行了评论。让您的 htaccess 规则文件如下所示,确保将其放置在 pb 文件夹所在的同一文件夹中。另外,请在测试您的 URL 之前清除您的浏览器缓存。
Options -Indexes -MultiViews
RewriteEngine on
##Apply https rules here.
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?XXXXXXXXX.net [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]
##Handling base URI of site.
RewriteRule ^/?$ pb/ [R=301,L]
##Blocking pb uri pages non existing ones.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^pb/ - [NC,L]
##making all uris which are files to pb folder.
RewriteCond %{DOCUMENT_ROOT}/pb/$1 -f
RewriteRule ^(.+)/?$ pb/$1 [L]
##Making non existing uris to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ pb/index.php?path=$1 [L,QSA]
order deny,allow
deny from all
allow from XX.XXX.XXX.XX
JS/CS 重写/重定向:您可能需要使用 base 标签来修复您的 js 和其他相关资源。如果您使用相对路径链接 js 文件,那么该文件显然会得到 404,因为它正在寻找 URL 路径。例如,如果 URL 路径是 /file/ 而不是 file.html,那么您的相关资源将从 /file/ 加载,这不是目录而是重写的 html 文件。要解决此问题,请使您的链接成为绝对链接或使用基本标签。在您的网页标题中添加此<base href="/">
内容,以便您的相关链接可以从正确的位置加载。
推荐阅读
- kotlin - 参数包中“大小”的参数类型错误。字符串 [] 预期
- .htaccess - 将 codeignitor easyappointments /index.php 重定向到 /index.php/backend 页面?
- python - 将 json 文件解析为 pandas 数据框
- javascript - store.destroy() 和 session.destroy() 有什么区别?我们需要同时使用两者吗?
- java - 如何更新 TLS 版本
- json - JSON 模式中的条件检查
- php - 为什么我无法读取 session_start()
- python - numpy.matrix 的奇怪输出
- excel - Excel - 平均唯一值
- python-3.x - 如何以熊猫的数据框为中心?