#apache #.htaccess #redirect
#apache #.htaccess #перенаправление
Вопрос:
У меня есть домен, на котором я устанавливаю WordPress, но я хотел бы видеть WordPress index1.php только на мой IP-адрес, пока находится в стадии разработки. В то же время другие посетители, которых они будут продолжать видеть index.html как обычно.
Перенаправление:
- С ip 1.2.3.4 запрашивает domain.com перенаправление на domain.com/index1.php
- Из других запросов IP-адресов на domain.com перенаправление на domain.com/index.html
Я попытался сделать это, изменив .htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^1.2.3.4
RewriteRule ^(.*)$ /index1.php [L]
Я пробовал несколько вариантов, но никто не работает так, как ожидалось
RewriteRule ^(.*.html)$ /index1.php [L]
или
RewriteRule ^(.*.html)$ /index1.php [L]
но это может быть условием перезаписи.
Ответ №1:
Пусть будет так:
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} =1.2.3.4
RewriteRule ^(?:index.html)?$ index1.php [L,NC]
RewriteCond %{REMOTE_ADDR} !^1.2.3.4$
RewriteRule ^(?:index1.php)?$ index.html [L,NC]
# skip all files and directories from rewrite rules below
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteCond %{REMOTE_ADDR} =1.2.3.4
RewriteRule . index1.php [L]
RewriteRule . index.html [L]
Комментарии:
1. Я не знаю, в чем проблема, но это тоже не работает. Я думал, что это будет самый простой способ.
2. Убедитесь, что вы получаете точно такой же IP-адрес, который у вас есть в .htaccess, распечатав все заголовки в тестовом файле php
3. да, я сделал так, что повторил «remote_addr: » . $_SERVER[‘REMOTE_ADDR’];
4. хорошо, итак, если IP-это именно то, что у вас есть в .htacess, какую ошибку вы получаете и какой URL-адрес вызывает это?
5. В обоих случаях, с IP-адреса и с другого ip, будут index.php