Я пытаюсь разработать, протестировать и отладить CSS и PHP-код веб-сайта и не дать публике видеть какие-либо страницы веб-сайтов (перенаправляя их на припаркованную "страницу обслуживания" страницу), пока сайт все еще разрабатывается.Этот сайт НЕ является сайтом WordPress, поэтому проблема не решается простым применением плагина.Однако может быть решаемым с помощью .htaccess
, если он настроен правильно.
Я использую следующий код в файле .htaccess
в корне дерева моих сайтов:
<IfModule mod_rewrite.c>
# Allow the developer(s) (set to example.com's IP address for demonstration purposes) access to the website, via their IP address. #
RewriteCond %{REMOTE_ADDR} !^(93\.184\.216\.34)
# Allow users access to the directory containing the pages that handle HTTP error codes. #
RewriteCond %{REQUEST_URI} !^.*\/(error_documents)\/.+$ [NC]
# Allow users access to the parked "maintenance" page (duh!). #
RewriteCond %{REQUEST_URI} !^.*\/park\/index\.php$ [NC]
# During development and maintenance periods, redirect all others to the parked "maintenance" page. #
RewriteRule .* /park/index.php [R=302,L]
</IfModule>
Теперь, это прекрасно работает по назначению, но теперь у меня есть (2) новые проблемы:
Чтобы решить эти (2) проблемы, необходимо выполнить следующее:
- Определите строку
HTTP_USER_AGENT
, которую вышеупомянутые (2) службы используют для доступа к веб-сайту, и, в частности, разрешают этим пользовательским агентам (т. Е. В соответствии с кодовым блоком .htaccess
выше, проверьтечто запрос НЕ поступает от этих (2) служб,Если это так, убедитесь, что NOT перенаправили их на припаркованную страницу «обслуживания».
Чтобы дать вам начальную подсказку начальной точки, эта директива может выглядетьпримерно так:
RewriteCond %{HTTP_USER_AGENT} !^GoogSDTT
RewriteCond %{HTTP_USER_AGENT} !^W3CValidator