2014-12-09 4 views
0

я копирую этот код в свой файл .htaccess, но это, кажется, не может быть перенаправление IP на сайт.htaccess RewriteCond не работает

RewriteEngine On 

    RewriteCond %{HTTP_HOST} ^XXX\.XXX\.XXX\.XXX # I have the IP correct 
    RewriteRule (.*) http://www.example.com/$1 [R=301,L] # I have the domain name correct 

    # Redirect Trailing Slashes... 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

, что я делаю неправильно здесь?

или, может быть, у меня есть общий хостинг?

+0

и что именно вы пытаетесь сделать? –

ответ

1

Вместо HTTP_HOST вы должны использовать REMOTR_ADDR для вашего (клиент) IP-адрес:

RewriteEngine On 

# redirect a particular IP 
RewriteCond %{HTTP_HOST} =xx.yy.zz.mm 
RewriteRule^http://www.example.com%{REQUEST_URI} [R=301,L,NE] 

# Remove Trailing Slashes... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+?)/$ /$1 [L,R=301,NE] 

Убедитесь, что вы поместите это правило в DocumentRoot из xx.yy.zz.mm.

+0

Спасибо за ваш ответ, но все равно не работаю, когда я пишу свой адрес ip в адресной строке, он направляет меня на другую страницу, вы можете видеть себя http://160.153.53.99/ – user3135757

+0

О, вы получаете доступ к сайту, используя этот адрес? Тогда это будет следующее условие: «RewriteCond% {HTTP_HOST} = 160.153.53.99' – anubhava

+2

@ user3135757 похоже, что вы находитесь на общей платформе хостинга. то есть вы должны определить свой виртуальный хост для своего домена. невозможно сделать это с файлом .htaccess, что вы пытаетесь (получить доступ к домену по ip), потому что веб-сервер обслуживает веб-сайт по умолчанию, а не ваш. –

Смежные вопросы