301 редирект слеш на без слеша в категоріях та статтях DLE 10.6

Сьогодні копався, намагаючись розібратися з 301 редиректами слеш на без слеша у категоріях на DLE 10.6. Перерва блог Алаїч-а і кілька інших джерел, так і не знайшла відповіді. Поліз розбиратися самостійно – рішення виявилося дуже простим!

301 редирект слеш на без слеша у категоріях DLE 10.6

1. Зайдіть на FTP. Відкрийте файл за адресою /engine/engine.php. Знайдіть наступний шматок коду:


if( $config['allow_alt_url'] AND $config['seo_control'] AND $category_id AND $view_template != "rss") { $re_cat = get_url( $category_id ); if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' ) { $re_url = explode ( "index.php", strtolower ( 1 ]))); $re_url = reset ($re_url); header("HTTP/1.0 301 Moved Permanently"); header("Location: {$re_url}{$re_cat}/"); die("Redirect"); } }

2. Замініть цей код на:

/* Пропатчений код URL категорій без слеша ПОЧАТОК */ if( $config['allow_alt_url'] AND $config['seo_control'] AND $category_id AND $view_template != "rss") { $re if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) == '/' ) { $re_url = explode ( "index.php", strtolower ( 1 ]))); $re_url = reset ($re_url); header("HTTP/1.0 301 Moved Permanently"); header("Location: {$re_url}{$re_cat}"); die("Redirect"); } } /* Пропатчений код URL категорій без слеша КІНЕЦЬ */

Змінилося насправді кілька знаків, але вони роблять те, що потрібно.

301 редирект слеш на без слеша у статтях DLE 10.6

1. У корені знайдіть файл .htaccess, у ньому знайдіть наступний код:


#Cам пост 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=1TP3{ ([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 [-] )/([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 $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]

2. Замініть його на такий:

#редирект статей слеш на без слеша RewriteBase / RewriteCond %{HTTP_HOST} (.*) RewriteCond %{REQUEST_URI} /$ [NC] RewriteRule ^(.*)(/)$ $ RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0- 9]+),(.*).(.*)$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L] RewriteRule ([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).(.*)$ index.php?subaction=showfull&year =$1&month=$2&day=$3&news_page=$4&news_name=$5 [L] RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print: page,([0-9]+),(.*).(.*)$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L] RewriteCond f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).( .*)$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L] R ewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*)$ index.php?newsid= $4&news_page=$2&cstart=$3 [L] RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$3&news_page =$2 [L] RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*)$ engine/print.php?news_page= $2&newsid=$3 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^.]+)/([0-9]+)-(.*)1TP newsid=$2 [L] RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$3&news_page= $1&cstart=$2 [L] RewriteRule ^page,([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$2&news_page=$1 [L] RewriteRule ^print:page ,([0-9]+),([0-9]+)-(.*)$ engine/print.php?news_page=$1&newsid=$2 [L] RewriteRule ^([0-9]+)-( .*)$ index.php?newsid=$1 [L]