Я застрял некоторое время на том, как создать "Скоро" страницу для моего сайта CakePHP.Мне нужно сохранить каталог webroot
защищенным с помощью .htpasswd
, чтобы только авторизованные пользователи могли получать доступ к сайту во время его создания.Тем не менее, постоянные посетители должны показывать страницу «Скоро», когда они посещают thesiteurl.com
или thesiteurl.com/index.html
.Все авторизованные пользователи получат доступ к остальной части сайта, посетив thesiteurl.com/index.php
и введя учетные данные для входа.
Вот структура каталогов соответствующих файлов, которые, я думаю, мне нужно отредактировать, чтобы эта работа работала.
/.htaccess
/comingsoon - directory containing images, css and js for the coming soon page
/index.html - the "Coming Soon" page
/index.php - the page authorised users use to access the site
/webroot/.htaccess
/webroot/index.php
Содержимое .htaccess
DirectoryIndex index.html
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !/
RewriteCond %{REQUEST_URI} !/index\.html
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
Содержимое webroot / .htaccess
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /path/to/my/.htpasswd
AuthGroupFile /dev/null
require valid-user
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
Эти правила .htaccess просто ведут меня в список файлов каталога webroot
если я попытаюсь получить доступ к thesiteurl.com
и пустую страницу, стилизованную под остальную часть моего сайта, если я получу доступ к thesiteurl.com/index.html
.thesiteurl.com/index.php
приведет меня на страницу индекса, которую авторизованные пользователи увидят, как только они войдут в систему.
Любая помощь будет принята с благодарностью.