Apache下实现根URL指向子目录同时可访问其他目录的.htaccess配置
解决Apache .htaccess重写规则问题:同时指向website目录并允许访问admin目录
你的原规则会把所有非/website/开头的请求都重定向到website目录下,包括/admin/开头的请求,这就是无法访问admin_login.php的原因。只需要在原有规则基础上添加一条排除/admin/路径的条件即可。
修改后的.htaccess规则如下:
RewriteEngine On # 排除website和admin目录的请求 RewriteCond %{REQUEST_URI} !^/website/ RewriteCond %{REQUEST_URI} !^/admin/ # 将其他请求重写到website目录 RewriteRule ^(.*)$ /website/$1 [L,NC]
规则说明:
RewriteEngine On:开启URL重写引擎(如果你的.htaccess里已经有这一行可以省略)- 第一条
RewriteCond:当请求路径不是以/website/开头时,才继续后续规则 - 第二条
RewriteCond:当请求路径不是以/admin/开头时,才继续后续规则 RewriteRule:将符合条件的请求重写到/website/$1,其中$1匹配请求路径的剩余部分;[L]表示这是最后一条匹配的规则,[NC]表示不区分大小写
修改后验证效果:
- 访问根域名
www.myurl.com会自动指向website/index.php,地址栏不会显示/website/ - 直接访问
www.myurl.com/admin/admin_login.php可以正常打开该文件
内容的提问来源于stack exchange,提问作者Johnson Emmanuel
相关产品推荐
相关产品推荐

