我们有两个URL指向同一个apache示例一个URL用于管理员,另一个用于客户端访问管理员URL时,应允许/admin,而通过客户端URL访问时,应拒绝/admin您能否帮助提供示例apache重写规则
https://example-admin.com/admin - Admins allowed to access admin url
https://example-client.com/admin - Client should not allowed to access admin url
https://example-client.com/client - Client allowed to access client site
更新日期:
我在下面尝试阻止客户端URL的管理上下文路径。但这不起作用:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/auth/admin(/.*)? [NC]
RewriteRule ^ - [F]
1条答案
按热度按时间polkgigr1#
/auth
是从哪里来的?示例URL中没有。但是,您需要检查请求的主机名,因为您只想阻止从example-client.com
主机访问时以/admin
开头的路径。换句话说,您需要检查Host
HTTP请求头的值,该值在HTTP_HOST
服务器变量中可用。例如:
这需要接近你的根
.htaccess
文件的顶部。您不需要一个单独的条件(
RewriteCond
指令)来检查请求的URL路径,因为可以在RewriteRule
指令中检查(更有效)。