这是与 HostGator 共享的托管帐户。
我有两个.htaccess
文件。
一个位于文档根目录中:~/public_html/.htaccess
# this is ~/public_html/.htaccess
## Redirect to https:// ##
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}/~myusername/$1 [R=301,L]
另一个位于子目录中: 。可以找到~/public_html/software/drupal-7.0/.htaccess
此文件的内容.htaccess
在 Drupal git 中。
.htaccess
Web 根目录中的功能是将所有请求重定向到https://
。当我访问除 提供的 URL 之外的任何 URL 时,此功能均有效~/public_html/software/drupal-7.0/
。
我希望我的重定向也https://
能正常工作,而无需修改此目录中的文件。~/public_html/software/drupal-7.0/
.htaccess
移动到~/public_html/software/drupal-7.0/.htaccess
其他地方似乎可以实现https://
重定向。
请问,为什么我的重定向没有出现在由 提供的 URL 中~/public_html/software/drupal-7.0/
?
答案1
RewriteOptions Inherit
在子目录的.htaccess
文件中会导致评估子目录中的规则,然后评估父上下文中的规则。
如果 Drupal 规则做出了任何更改,由于这是每个目录的上下文,它们将通过该过程第二次发送回去,并且在第二次传递时规范主机名重写将生效。