首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果请求的URL在.htacess中没有字符串,如何阻止访问

如果请求的URL在.htacess中没有字符串,如何阻止访问
EN

Stack Overflow用户
提问于 2021-06-23 08:20:37
回答 1查看 58关注 0票数 0

我有一个别名域名,我不希望它加载网站。如果请求URL具有特定的字符串,我只希望访问我的别名域。

示例:www.myalias.com/pass/whatever/here

我正在查看的字符串是"pass“,如果请求URL有"pass”,则允许访问网站,如果没有,则返回404错误。

规则将检查域名是否等于"myalias.com“,然后检查请求URL中是否存在字符串"pass”。

如何在.htaccess中将其写入规则?

EN

回答 1

Stack Overflow用户

发布于 2021-06-23 15:44:03

听起来非常简单:您检查http主机,是否存在pass,并根据需要做出反应:

这会拒绝请求

代码语言:javascript
运行
复制
RewriteEngine on
RewriteCond %{HTTP_HOST} ^alias\.example\.com$
RewriteCond %{REQUEST_URI} !^/pass/
RewriteRule ^ - [F]

发送一个自定义的http状态(这里是403):

代码语言:javascript
运行
复制
RewriteEngine on
RewriteCond %{HTTP_HOST} ^alias\.example\.com$
RewriteCond %{REQUEST_URI} !^/pass/
RewriteRule ^ - [R=403]

或者,您可以将客户端重定向到您想要的任何位置:

代码语言:javascript
运行
复制
RewriteEngine on
RewriteCond %{HTTP_HOST} ^alias\.example\.com$
RewriteCond %{REQUEST_URI} !^/pass/
RewriteRule ^ https://example.com/ [R=301]

显然,您需要在http服务器中加载重写模块。通常,这样的规则应该在实际的http服务器的主机配置中实现。如果您真的想使用分布式配置文件(".htaccess"),则需要首先启用它的解释(请参阅AllowOverride指令的文档)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68092088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档