Apache-2.2

子目錄中 .htaccess 中的 RewriteRules 禁用/破壞父目錄中 .htaccess 中的 RewriteRules

  • August 10, 2020

這是與 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中找到。

web root 中的 功能.htaccess是將所有請求重定向到https://. 這在我訪問任何 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/

RewriteOptions Inherit在子目錄的.htaccess文件中將導致評估子目錄中的規則,然後評估父上下文中的規則。

如果 Drupal 規則進行任何更改,因為這是每個目錄的上下文,它們將通過該程序第二次發送回來,並且在第二次通過時,規範的主機名重寫將生效。

引用自:https://serverfault.com/questions/265409