Jump to content
  • 0

htaccess. редирект


cyklop77
 Share

Question

подскажите пожалуйста как настроить редирект через .htaccess

 

есть сайт site.ru

если в адресной строке браузера набрать адреса:

site.ru.

site.ru..

site.ru...

 

то сайт всё равно загружается, но адрес выглядит с точками, а надо site.ru

то есть без точек. 

 

я пробовал такую инструкцию:

Redirect . http://site.ru

но не помогло

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

site.ru. - является корректным доменным именем в силу особенностей DNS и с этим имхо делать ничего не нужно.

 

Но мне интересно как может зарузиться site.ru... и site.ru..  По идее хост не должен быть найден.

Link to comment
Share on other sites

  • 0

site.ru. - является корректным доменным именем в силу особенностей DNS и с этим имхо делать ничего не нужно.

 

Но мне интересно как может зарузиться site.ru... и site.ru..  По идее хост не должен быть найден.

 

ну с многоточиями это я погорячился. но вот этот грузится:

www.avroraprint.ru.

а адрес сайта то какой? Домен не может оканчиваться на точку, ее обычно не отображают браузеры! Может быть только так "site.ru/.". Каким браузером пользуетесь?

виндовый chrome последний. 

Edited by cyklop77
Link to comment
Share on other sites

  • 0

Попробуй так:

RewriteEngine OnRewriteCond %{HTTP_HOST} ^(www\.)?(.*)\. [NC]RewriteRule ^(.*)$ http://%2/$1 [R=301,L]

Вот, если нужно сохранить www. пр редиректе:

RewriteEngine OnRewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.$ [NC]RewriteRule ^(.*)$ http://%1%2/$1 [R=301,L]

Если еще нужно еще и редирек для www делать, тода нужно немноо допилить.

 

Вот, если кому пригодится, интерестный пост на темо apache mod_rewrite habrahabr.ru/company/sprinthost/blog/129560/

Edited by CoDy
  • Like 1
Link to comment
Share on other sites

  • 0

почему-то не получается решить. проблему. может быть нужно ещё какие-то действия совершать? сервер перегрузить например?

 

сейчас вот какой содержание у .htaccess(фрагмент):

<IfModule mod_rewrite.c>  Options +FollowSymLinks  RewriteEngine On  RewriteCond %{HTTP_HOST} ^avroraprint.ru  RewriteRule (.*) http://www.avroraprint.ru/$1 [R=301,L]  RewriteCond %{REQUEST_FILENAME} !-f  RewriteCond %{REQUEST_FILENAME} !-l  RewriteCond %{REQUEST_FILENAME} !-d  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]  RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.$ [NC]RewriteRule ^(.*)$ http://%1%2/$1 [R=301,L]</IfModule>

при этом точки в адресе не исчезли. можно даже несколько их ставить в конце адреса.....

 

даже такой адрес загружается:

http://www.avroraprint.ru./services/


можно и на php склейку делать.

а почему там вообще точки получаются?

а как на php делать склейку?

Edited by cyklop77
Link to comment
Share on other sites

  • 0

Я вот не понимаю откуда там вообще точки. может ты накосячил с htaccesso м где нибудь

Вот что значит век живи век учись. Не разу такого не видел. Помоему это бред какой то

Link to comment
Share on other sites

  • 0
при этом точки в адресе не исчезли. можно даже несколько их ставить в конце адреса..... даже такой адрес загружается: http://www.avroraprint.ru./services/

 

Все правильно.

Точка из хоста не уходит поскольку инструкция

RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]

генерирует внутренний а не внешний редирект(при котором был бы запущен повторный цикл преобразований) и кроме того является последней инструкцией преобразования в для текущего запроса(флаг L). Таким образом инструкция отсечения точки

RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.$ [NC]RewriteRule ^(.*)$ http://%1%2/$1 [R=301,L]

просто никогда не выполняется.

 

Попробуй так:

<IfModule mod_rewrite.c>  Options +FollowSymLinks  RewriteEngine On    # Сначала внешний редирект, который поправит "." и "www"   # если в этом есть необходимость  RewriteCond %{HTTP_HOST} !^www\. [OR]  RewriteCond %{HTTP_HOST} \.$  RewriteRule ^(.*)$ http://www.avroraprint.ru/$1 [R=301,L]    # И уже на запросе с поправленным хостом начинает работать  # перенаправление от CMS  RewriteCond %{REQUEST_FILENAME} !-f  RewriteCond %{REQUEST_FILENAME} !-l  RewriteCond %{REQUEST_FILENAME} !-d  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]  </IfModule>
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy