Jump to content
Sign in to follow this  
harmoshka

Дублирование категории

Recommended Posts

Здравствуйте. После смены домена заметил такие урл категорий http://wingad.ru/index.php?do=cat&category=gadgets/radio/. Скажите, как настроить редирект на нормальный урл? В админке все настройки по урл включены. DLE 10.2

Share this post


Link to post
Share on other sites

Такие ссылки могли появиться только в результате некорректных модификаций файла .htaccess в корне, когда ставят какие либо некорректные редиректы. Возможно были и другие модификации в других файлах скрипта. Восстановите полностью оригинальные файлы скрипта, и включите контроль неверных ЧПУ в админпанели скрипта.

Share this post


Link to post
Share on other sites

Странная ситуация. Все правки в файлы вносились еще до переноса сайта на новый домен, но такой проблемы небыло. Возможно какие-то настройки сервера влияют на это? Заменить файлы движка не могу, так как много правок вносилось... Может подскажете, как редиректом убить данный дубль?

Share this post


Link to post
Share on other sites

Может подскажете, как редиректом убить данный дубль?

Это уже результат некорректно редиректа. И по данной ссылке уже итак идет редирект на главную, а не открывается страница по ней сайт.

Share this post


Link to post
Share on other sites

Это уже результат некорректно редиректа. И по данной ссылке уже итак идет редирект на главную, а не открывается страница по ней сайт.

Там на конце ссылки стоит точка. У меня стоит редирект с несуществующих категорий на главную страницу сайта. Кстати, уберу этот бред... Вот нормальный адрес http://wingad.ru/ind...=gadgets/radio/

Вот полное содержание файла .htaccess: (простите, но не нашел спойлера чтобы спрятать...)


DirectoryIndex index.php

RewriteEngine On

RewriteCond %{HTTP_HOST} ^addgadget\.net

RewriteRule ^(.*)$ http://wingad.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.addgadget\.net

RewriteRule ^(.*)$ http://wingad.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.wingad\.ru$ [NC]

RewriteRule ^(.*)$ http://wingad.ru/$1 [R=301,L]

RewriteBase /

RewriteRule ^(.*)page/1(/|)$ $1 [R=301,L]

# Редиректы

RewriteBase /

	### Решение проблемы адресов с косяком на конце .htm .ht .h

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} ^(.*)\.htm$

RewriteRule ^(.*)\.htm$ $1.html [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} ^(.*)\.ht$

RewriteRule ^(.*)\.ht$ $1.html [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} ^(.*)\.h$

RewriteRule ^(.*)\.h$ $1.html [R=301,L]

RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]

# Сам пост

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 [L]

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 [L]

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 [L]

RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$2&newsid=$3&seourl=$4&seocat=$1 [L]

RewriteRule ^([^.]+)/([0-9]+)-(.*).html$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]

RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 [L]

RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$2&news_page=$1&seourl=$3 [L]

RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$1&newsid=$2&seourl=$3 [L]

RewriteRule ^([0-9]+)-(.*).html$ index.php?newsid=$1&seourl=$2 [L]

# За день

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]

# За весь месяц

RewriteRule ^([0-9]{4})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&cstart=$3 [L]

# Вывод за весь год

RewriteRule ^([0-9]{4})(/?)+$ index.php?year=$1 [L]

RewriteRule ^([0-9]{4})/page/([0-9]+)(/?)+$ index.php?year=$1&cstart=$2 [L]

# вывод отдельному тегу

RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]

RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L]

# поиск по доп полям

RewriteRule ^xfsearch/([^/]*)(/?)+$ index.php?do=xfsearch&xf=$1 [L]

RewriteRule ^xfsearch/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [L]

# вывод для отдельного юзера

RewriteRule ^user/([^/]*)/rss.xml$ engine/rss.php?subaction=allnews&user=$1 [L]

RewriteRule ^user/([^/]*)(/?)+$ index.php?subaction=userinfo&user=$1 [L]

RewriteRule ^user/([^/]*)/page/([0-9]+)(/?)+$ index.php?subaction=userinfo&user=$1&cstart=$2 [L]

RewriteRule ^user/([^/]*)/news(/?)+$ index.php?subaction=allnews&user=$1 [L]

RewriteRule ^user/([^/]*)/news/page/([0-9]+)(/?)+$ index.php?subaction=allnews&user=$1&cstart=$2 [L]

RewriteRule ^user/([^/]*)/news/rss.xml(/?)+$ engine/rss.php?subaction=allnews&user=$1 [L]

# вывод всех последних новостей

RewriteRule ^lastnews(/?)+$ index.php?do=lastnews [L]

RewriteRule ^lastnews/page/([0-9]+)(/?)+$ index.php?do=lastnews&cstart=$1 [L]

# вывод в виде каталога

RewriteRule ^catalog/([^/]*)/rss.xml$ engine/rss.php?catalog=$1 [L]

RewriteRule ^catalog/([^/]*)(/?)+$ index.php?catalog=$1 [L]

RewriteRule ^catalog/([^/]*)/page/([0-9]+)(/?)+$ index.php?catalog=$1&cstart=$2 [L]

# вывод непрочитанных статей

RewriteRule ^newposts(/?)+$ index.php?subaction=newposts [L]

RewriteRule ^newposts/page/([0-9]+)(/?)+$ index.php?subaction=newposts&cstart=$1 [L]

# вывод избранных статей

RewriteRule ^favorites(/?)+$ index.php?do=favorites [L]

RewriteRule ^favorites/page/([0-9]+)(/?)+$ index.php?do=favorites&cstart=$1 [L]

RewriteRule ^rules.html$ index.php?do=rules [L]

RewriteRule ^statistics.html$ index.php?do=stats [L]

RewriteRule ^addnews.html$ index.php?do=addnews [L]

RewriteRule ^rss.xml$ engine/rss.php [L]

RewriteRule ^sitemap.xml$ uploads/sitemap.xml [L]

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]

RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^.]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]

RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1&seourl=$2 [L]

RewriteRule ^print:([^/]+).html$ engine/print.php?do=static&page=$1&seourl=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^/]+).html$ index.php?do=static&page=$1&seourl=$1 [L]


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/

RewriteRule .* / [R=301,L]

Edited by harmoshka

Share this post


Link to post
Share on other sites

harmoshka,

Из за того что вы вообще модифицировали этот файл вы и получили проблемы. Потому делаете в нем 301 редиректы на ЧПУ редиректы.

Теперь же чтобы убрать те ссылки что у вас получились, редиректы нужно делать уже не в файле .htaccess, в самом PHP скрипте, потому как это ссылки уже без ЧПУ. И на PHP проверять URL, и в случае его некорректности перенаправлять на верный URL. Готового кода для этого у меня нет, поэтому я вам его к сожалению предоставить не могу.

Share this post


Link to post
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.

Guest
Reply to this topic...

×   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.

Sign in to follow this  

×
×
  • Create New...