Что не так с этим.htaccess? Ограничить доступ к дополнительному домену HostMonster

Я использую следующее .htaccess файл, чтобы запретить доступ к дополнительному домену через мою учетную запись хост-монстра. Однако к папкам / файлам все еще можно получить доступ, перейдя по адресу мой домен.com/domains/addon-domain.

Я много редактировал файл, пробовал разные вещи и брал кусочки тут и там, но он просто не работает. Если у кого-то есть опыт, особенно в том, как это делает HostMonster, это было бы здорово.

# Use PHP54CGI as default
AddHandler fcgid54-script .php
# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
Options -Indexes

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ [NC]
RewriteCond %{REQUEST_URI} ^/domains/addon-domain1/(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^/domains/addon-domain2/(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^/domains/addon-domain3/(.*)$
RewriteRule ^(.*)$ - [L,R=404]

2 ответа

Вам нужно переместить это правило так, чтобы оно было перед вашим правилом WordPress. Вы также можете, вероятно, объединить некоторые из условий:

# Use PHP54CGI as default
AddHandler fcgid54-script .php

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ [NC]
RewriteCond %{REQUEST_URI} ^/domains/(addon-domain3|addon-domain2|addon-domain1)/
RewriteRule ^ - [L,R=404]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
Options -Indexes

Местоположение вашего.htaccess очень важно.

Чтобы предотвратить доступ к этим другим доменам, он должен находиться в корне вашего сайта. Или вы можете поместить.htaccess в корень ваших различных поддоменов.

У вас может быть это в подкаталоге, где ваша установка WordPress.

Другие вопросы по тегам