我有一个别名域名,我不希望它加载网站。如果请求URL具有特定的字符串,我只希望访问我的别名域。
示例:www.myalias.com/pass/whatever/here
我正在查看的字符串是"pass“,如果请求URL有"pass”,则允许访问网站,如果没有,则返回404错误。
规则将检查域名是否等于"myalias.com“,然后检查请求URL中是否存在字符串"pass”。
如何在.htaccess中将其写入规则?
发布于 2021-06-23 15:44:03
听起来非常简单:您检查http主机,是否存在pass,并根据需要做出反应:
这会拒绝请求
RewriteEngine on
RewriteCond %{HTTP_HOST} ^alias\.example\.com$
RewriteCond %{REQUEST_URI} !^/pass/
RewriteRule ^ - [F]发送一个自定义的http状态(这里是403):
RewriteEngine on
RewriteCond %{HTTP_HOST} ^alias\.example\.com$
RewriteCond %{REQUEST_URI} !^/pass/
RewriteRule ^ - [R=403]或者,您可以将客户端重定向到您想要的任何位置:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^alias\.example\.com$
RewriteCond %{REQUEST_URI} !^/pass/
RewriteRule ^ https://example.com/ [R=301]显然,您需要在http服务器中加载重写模块。通常,这样的规则应该在实际的http服务器的主机配置中实现。如果您真的想使用分布式配置文件(".htaccess"),则需要首先启用它的解释(请参阅AllowOverride指令的文档)。
https://stackoverflow.com/questions/68092088
复制相似问题