使用htaccess,仅在URL包含查询字符串的情况下才允许访问网站,但允许网站资源(CSS,JS等)工作吗?

芒斯特兰德

我知道有很多问题,但是我还没有找到满足我特定需求的问题。具体来说,我有一个客户希望阻止对该网站的访问,除非他们在URL中有特定的字符串作为查询参数。

https://sub.domain.com/?someStringHere

我目前在htaccess中有这个:

RewriteEngine On
RewriteCond %{QUERY_STRING} !^someStringHere$ [NC]
RewriteRule ^.*$ http://www.google.com/ [L,R]

这样做很好,除了它然后阻止加载所有站点资源(CSS,JS和图像),例如:

<link rel="stylesheet" href="/css/style.css">

如果再添加:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

然后,它允许不使用查询字符串进行访问,因此如果我做一些愚蠢的操作而感到抱歉,但是我很困惑。感谢您提供的任何帮助!

维克多·比约恩

请尝试以下代码。我刚刚为普通资产添加了另一条规则。

RewriteEngine On
RewriteCond %{QUERY_STRING} !^someStringHere$ [NC]
RewriteRule !\.(js|gif|css|jpg|png)$ http://www.google.com/ [L,R]

我可以向您推荐此htaccess在线测试仪工具:https : //htaccess.madewithlove.be/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章