Jump to content
  • 0

htaccess. замена части адреса


cyklop77
 Share

Question

поправьте пожалуйста мой код

 

есть адрес

http://avroraprint.ru//upload/iblock/455/455f1bc7118c491bd762414665984468.JPG

мне нужно чтобы все подобные адреса выглядели так:

http://www.avroraprint.ru//upload/iblock/455/455f1bc7118c491bd762414665984468.JPG

вот что я пробовал:

RewriteCond ^http://avroraprint.ru//upload/iblock/(.*)RewriteRule ^http://www.avroraprint.ru//upload/iblock/$1 [R=301,L]    

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

Internal Server Error

Edited by cyklop77
Link to comment
Share on other sites

8 answers to this question

Recommended Posts

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

спасибо. ваше решение работает, но у меня оно конфликтует с соседними инструкциями. не поможете исправить?

 

дело в том, после добавления вышерпиведённого кода, у меня перестаёт работать основной адрес сайта:

http://www.avroraprint.ru/

http://avroraprint.ru/

 

вот полный код .htaccess:

<IfModule mod_rewrite.c>  Options +FollowSymLinks  RewriteEngine On  RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]RewriteRule ^(.*)$ http://%1/$1 [R=301,L]       # Сначала внешний редирект, который поправит "." и "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>
 
в браузере сообщение о том, что найдена циклическая переадресация
Edited by cyklop77
Link to comment
Share on other sites

  • 0

По идее перенаправление:

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

лишнее. Поскольку следующее за ним правило:

RewriteCond %{HTTP_HOST} !^www\. [OR]RewriteCond %{HTTP_HOST} \.$RewriteRule ^(.*)$ http://www.avroraprint.ru/$1 [R=301,L]

должно приводить адрес вида host/reques к виду www.host/reques

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

  • 0

. Поскольку следующее за ним правило:

RewriteCond %{HTTP_HOST} !^www\. [OR]RewriteCond %{HTTP_HOST} \.$RewriteRule ^(.*)$ http://www.avroraprint.ru/$1 [R=301,L]

должно приводить адрес вида host/reques к виду www.host/reques

 

теоретически это понятно. но адрес

http://avroraprint.ru/upload/iblock/455/455f1bc7118c491bd762414665984468.JPG

не приводится к 

http://www.avroraprint.ru/upload/iblock/455/455f1bc7118c491bd762414665984468.JPG

при

#RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]#RewriteRule ^(.*)$ http://%1/$1 [R=301,L]       # Сначала внешний редирект, который поправит "." и "www"   # если в этом есть необходимость  RewriteCond %{HTTP_HOST} !^www\. [OR]  RewriteCond %{HTTP_HOST} \.$  RewriteRule ^(.*)$ http://www.avroraprint.ru/$1 [R=301,L]
Edited by cyklop77
Link to comment
Share on other sites

  • 0

А точно эту картинку апач отдает, ибо вот заголовок ответа:

Accept-Ranges    bytesCache-Control    max-age=2678400Connection    keep-aliveContent-Length    3138372Content-Type    image/jpegDate    Thu, 07 Aug 2014 07:15:25 GMTEtag    "53d9db85-2fe344"Expires    Sun, 07 Sep 2014 07:15:25 GMTLast-Modified    Thu, 31 Jul 2014 06:00:37 GMTServer    nginx/1.6.0

Специально испорти .htaccess и попробуй загрузить картинку. И еще можно попробовать закоментить все правила перенаправления кроме тех, которые дописывают www и чистят точку. Ведь правила могут влиять на перенаправления сделанные их предшественниками. И желательно приводить все правила перенаправления их .htaccess, а не только те, к работе которых есть вопросы.

  • 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