Вот одно из возможных решений (используйте на свой страх и риск).
Создать .htaccess
файл в каталоге _warehouse
со следующим содержанием:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ wplogin.php [NC,L]
Это будет перенаправлять все запросы на файлы, которые существуют в _warehouse
и поддиректории в _warehouse/wplogin.php
Создать _warehouse/wplogin.php
со следующим содержимым :
<?php
// Edit this path to include wp-load.php from your WordPress directory
require_once '../wp-load.php';
if (!is_user_logged_in()) {
// if user is not logged in, set redirect URI, show WP login
$_REQUEST['redirect_to'] = $_SERVER['REQUEST_URI'];
require_once '../wordpress/wp-login.php';
exit;
} else {
// user is logged into wordpress - show the requsted file.
require_once $_SERVER['DOCUMENT_ROOT'] . $_SERVER['REQUEST_URI'];
}
И, наконец, и очень важно, добавьте в файл wp-config.php
:
define('COOKIEPATH', '/');
Это потому, что WordPress будет устанавливать куки с пути, указанного. Это предотвратит распознавание файлов cookie для входа в _warehouse
.
И, как я уже сказал, используйте на свой страх и риск. Это не идеально, но, вероятно, это самый быстрый способ добиться того, чего вы хотите, и будете обрабатывать многие случаи.
Примечание: это не касается каталогов без индекса. Если Apache Options +Indexes
включен, кто-то может просмотреть список каталогов в _warehouse
, но если они попытаются получить доступ к нему, он отобразит страницу входа.
Попробуй эту кнопку и дайте вам знать, как все прошло! Спасибо! –