子目录中的.htaccess文件正在从URL路径中删除子目录

时间:2019-07-15 19:00:59

标签: .htaccess subdirectory

我的根目录中有一个.htaccess文件,其中包含以下内容,以便删除www。并从我网站上的所有URL强制使用https:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) https://example.com/$1 [L,R=301]

它按预期工作,但是当我尝试访问该站点的 / admin 目录中的页面时,URL的 / admin 部分被剥夺了。因此,例如,请求 example.com/admin/foo.php 会将我重定向到 example.com/foo.php

example.com/admin 目录中,有一个.htaccess文件用于用户登录身份验证。该.htaccess文件包含以下内容:

AuthType Basic
AuthName "Administrators"
require valid-user
AuthUserFile "/home/example/.htpasswds/public_html/admin/passwd"

我尝试根据另一个用户的类似问题的答案,将以下内容添加到 example.com/admin/.htaccess 文件中:

RewriteEngine On
RewriteOptions Inherit

这没有用,我得到了相同的结果, / admin 被剥夺了。我也尝试添加以下内容:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

这也不起作用,并且给了我相同的结果。我需要在我的 example.com/admin/.htaccess 文件中添加什么,以防止网址路径的 / admin 部分被剥夺,同时又保持从我的根.htaccess文件中获取我的非www和force-https规则?

0 个答案:

没有答案