請原諒我對 Apache 的缺乏經驗,但我正在嘗試設定我的.htaccess
檔案,以便我的 2 個插件域的子域和目錄無法通過主域訪問(即它們將 404)。換句話說,addon-domain-1.primary-domain.com
兩者primary-domain.com/addon-domain-1
都應該是不可訪問的。
我認為我在正確的軌道上,但我目前的實施不起作用。這是我的代碼:
# Redirect to www/https
RewriteEngine on
RewriteCond %{HTTP_HOST} ^primary-domain\.com [NC]
RewriteRule ^(.*)$ https://www.primary-domain.com/$1 [R=301]
# Block addon domain directories
RewriteCond %{HTTP_HOST} ^addon-domain-1\.primary-domain\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^addon-domain-2\.primary-domain\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^(www\.)?primary-domain\.com [NC]
RewriteCond %{REQUEST_URI} ^/addon-domain-1/(.*) [OR]
RewriteCond %{REQUEST_URI} ^/addon-domain-2/(.*)
RewriteRule ^(.*)$ - [R=404,L]
此.htaccess
檔案放在根目錄 ( primary-domain.com
)
非常感謝!
uj5u.com熱心網友回復:
您可以像這樣設定阻止規則:
# Block addon domain directories
RewriteCond %{HTTP_HOST} ^((www|addon-domain-1|addon-domain-2)\.)?primary-domain\.com$ [NC,OR]
RewriteCond %{REQUEST_URI} ^/(addon-domain-1|addon-domain-2)/ [NC]
RewriteRule ^ - [F]
uj5u.com熱心網友回復:
最終通過執行類似于@anubhava 的答案(有一些更改)來解決它,最重要的是,將這些更改也放入插件域的.htaccess
檔案中。
主域:
# Forward to www/HTTPS
RewriteEngine on
RewriteCond %{HTTP_HOST} ^primary-domain\.com [NC]
RewriteRule ^(.*)$ https://www.primary-domain.com/$1 [R=301]
# Block addon domain directories
RewriteCond %{HTTP_HOST} ^(www\.)?(addon-domain-1|addon-domain-2)\.primary-domain\.com [NC,OR]
RewriteCond %{REQUEST_URI} ^/(addon-domain-1|addon-domain-2)
RewriteRule ^(.*)$ - [R=404,L]
插件域 1:
# Forward to www/HTTPS
RewriteEngine on
RewriteCond %{HTTP_HOST} ^addon-domain-1\.com [NC]
RewriteRule ^(.*)$ https://www.addon-domain-1.com/$1 [R=301]
# Block addon domain directories
RewriteCond %{HTTP_HOST} ^(www\.)?addon-domain-1\.primary-domain\.com [NC,OR]
RewriteCond %{REQUEST_URI} ^/addon-domain-1
RewriteRule ^(.*)$ - [R=404,L]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/492656.html