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.

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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Открыть валютной карты для обменника
4 fair_exchange 294 Сегодня, 14:11
автор: EvilGomel
Открытая тема (нет новых ответов) Нужен человек для поиска клиентов за процент от сделки
3 Evgos 528 Вчера, 22:34
автор: Yepperoni
Открытая тема (нет новых ответов) Вопрос по seo для интернет магазина
куда девать продвинутые товары, которые уже не выпускают
18 viktormerke 2788 Вчера, 15:18
автор: Smspva
Открытая тема (нет новых ответов) ВНИМАНИЕ: Тема для обсуждения работ фотоконкурса «Новогодний косплей» 18+
6 admin 1069 Вчера, 15:14
автор: admin
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыSE Ranking – новый сервис для проверки позиций сайтов в поисковиках
173 seranking 158091 Вчера, 14:29
автор: seranking


 



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