Как использовать htaccess, чтобы ограничить один сайт WordPress, но не все в мультисайтах - PullRequest
0 голосов
/ 19 мая 2011

Я исследовал это, и, к сожалению, все, что я могу найти, это общие советы по htacesss и пароли или общие htaccess для перенаправления и т. Д. Ни один из них не является тем, что мне нужно.

Подводя итог, мы поддерживаем несколько блогов, использующих функциональность WordPress Multisite.

Все эти файлы и т. Д., А также информация в базе данных имеют идентификатор, поэтому сайт не находится в папке.

Я хочу ограничить доступ к одной папке с помощью htaccess, который наша компания использует для предоставления доступа своим пользователям.

Обычно я помещаю этот файл в папку, и работа сделана.

Однако, как уже упоминалось, нет физических папок, и поэтому мне нужно как-то добавить это в существующий файл htaccess, который WordPress использует для обработки всего.

Стандартный файл htaccess:

RewriteEngine On
RewriteBase /

#uploaded files
RewriteRule ^(.*/)?files/$ index.php [L]
RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
# deperectaed after upgrade to v. 3.0 RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]
RewriteRule ^(.*/)?files/(.*) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteCond %{REQUEST_URI} ^.*/wp-admin$
RewriteRule ^(.+)$ $1/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

<IfModule mod_security.c>
<Files async-upload.php>
SecFilterEngine Off
SecFilterScanPOST Off
</Files>
</IfModule>

Мне нужно добавить следующее:

AuthName "You must be a valid user" 
AuthType Basic 
require valid-user

Но мне нужно, чтобы он работал только на одном сайте, скажем, id сайта пока = 2. Возможно, я бы хотел добавить сайты к этому позже.

Любая помощь будет принята с благодарностью.

Приветствия

1 Ответ

0 голосов
/ 23 мая 2011

Вы можете использовать директиву filesMatch для защиты каталогов.Для сайта по пути / foo / должно работать следующее:

<filesMatch "^foo.*">
    AuthName "You must be a valid user" 
    AuthType Basic 
    require valid-user
</filesMatch>

Чтобы убедиться, что директива filesMatch работает, попробуйте:

<filesMatch "^foo.*">
    order allow,deny
    deny from all
</filesMatch>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...