X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Проблема с 301 редиректом для DLE
ErgoProxy
ErgoProxy
Topic Starter сообщение 27.9.2011, 11:59; Ответить: ErgoProxy
Сообщение #1


Участник
***

Группа: User
Сообщений: 118
Регистрация: 2.7.2011
Из: Украина г. Черкассы
Поблагодарили: 10 раз
Репутация:   8  


Движок сайта DLE, как известно без дополнительных действий у этого движка появляются дубли страниц за счёт страниц со слэшем и без, например: http://www.anime-news.org.ua/anime и http://www.anime-news.org.ua/anime/ обе эти страницы имели одинаковый контент и выдавали статус код 200 ОК. Я решил добавлять в конец адреса слэш с 301 редиректом, нашёл в инете вот такой код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [R=301,L]

Но возникла проблема в конец всех файлов слэш стал добавляться, то есть, например: http://www.anime-news.org.ua/sitemap.xml/ Тогда я изменил код таким образом:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*).xml
RewriteCond %{REQUEST_URI} !(.*).html
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [R=301,L]

Слэш перестал добавляться к html и xml файлам, вроде всё работает нормально, но хотел бы комментарий от знающих людей, всё ли правильно было сделано. И отдельно вопрос: Что значит строчка:
RewriteCond %{REQUEST_FILENAME} !-f

Также ещё вопрос: На сайт устанавливал модуль карты сайта, изначально для ЧПУ в .htaccess был прописан такой код:
RewriteRule ^sitemap(/?)+$ /?do=sitemap [L]

Так как с таким кодом были доступны две одинаковые страницы с кодом статуса 200 ОК: http://www.anime-news.org.ua/sitemap и http://www.anime-news.org.ua/sitemap/.
Поменял код на:
RewriteRule ^sitemap/(.*)$ /?do=sitemap [L]

Правильно ли я сделал?
Далее сделал перенаправление с домена без www на домен с www, а также с /index.php /index.html на /.
RewriteCond %{HTTP_HOST} ^anime-news\.org.ua$ [NC]
RewriteRule ^(.*)$ http://www.anime-news.org.ua/$1 [R=301,L]


# Определяем главное зеркало
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ / [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]

Всё ли правильно?
Потом посмотрел в панель вебмастера в гугле и увидел, что есть ещё дубли за счёт, например: http://www.anime-news.org.ua/anime/ и http://www.anime-news.org.ua/anime/page/1/. Добавил вот такой код:
# Редирект с первой страницы на основную
RewriteRule ^(.*)/1$ $1 [R=301,L]
RewriteRule ^(.*)page$ $1 [R=301,L]

Но не работает такой код, если ввести адрес http://www.anime-news.org.ua/anime/page/1/, то перенаправление не происходит, а если ввести http://www.anime-news.org.ua/anime/page/1 , тогда вообще кидает на страницу с таким же содержанием, но адресом http://www.anime-news.org.ua/home/amd7750/...lic_html/anime/.
Как исправить код, что бы правильно обрабатывало?
Помогите, пожалуйста!
На данный момент весь код имеет вид:
DirectoryIndex index.php
RewriteEngine On

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

# Определяем главное зеркало
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ / [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]

# Редирект с первой страницы на основную
RewriteRule ^(.*)/1$ $1 [R=301,L]
RewriteRule ^(.*)page$ $1 [R=301,L]

# Карта сайта
RewriteRule ^sitemap/(.*)$ /?do=sitemap [L]

# Без слэша на слэш
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*).xml
RewriteCond %{REQUEST_URI} !(.*).html
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [R=301,L]

Дальше стандартное содержание от движка DLE 9.3.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Сообщение отредактировал ErgoProxy - 27.9.2011, 12:05
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) 10 бесплатных сервисов Google для бизнеса, о которых мало кто слышал
37 jack 11187 Сегодня, 2:36
автор: EconDude
Горячая тема (нет новых ответов) Услуги по CMS Wordpress, DLE, Joomla!. Правки, ремонт, настройка.
Редактирование и правки. Низкие цены.
156 contex1 70737 Сегодня, 0:06
автор: AnnaProf
Открытая тема (нет новых ответов) Дизайн Landing Page для Вашего бизнеса
2 DPavelV 916 Вчера, 20:34
автор: DPavelV
Открытая тема (нет новых ответов) Единый инструмент для аналитики монетизации
0 tehno_music 280 Вчера, 17:38
автор: tehno_music
Открытая тема (нет новых ответов) В России могут создать "белый VPN" для добросовестных ресурсов
2 seostock 850 Вчера, 15:01
автор: wertu


 



RSS Текстовая версия Сейчас: 22.5.2018, 3:15
Дизайн