вопрос
Всем доброго времени суток!
Есть отличные статьи про улучшение DLE в 4 частях от igameer, но к сожалению на связь не выходит.
В одной из своих статей он убирает все ссылки с слэшом на без него. Было сайт.ру/собака/ стало сайт.ру/собака
Статья писалась под 10.х, сейчас на 11 версии кусок кода из engine.php выглядит так:
Добавилось пару строчек, и если следовать инструкции и заменить = на + то редирект на сайте происходит не правильный. При переходе на сайт.ру/собака/ должен осуществляться редирект на сайт.ру/собака
Есть отличные статьи про улучшение DLE в 4 частях от igameer, но к сожалению на связь не выходит.
В одной из своих статей он убирает все ссылки с слэшом на без него. Было сайт.ру/собака/ стало сайт.ру/собака
Открываем /engine/engine.php находим :
header("Location: {$re_url}{$re_cat}/");
Меняем на :
header("Location: {$re_url}{$re_cat}");
Далее ищем :
if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' ) {
Меняем на :
if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) == '/' ) {
Статья писалась под 10.х, сейчас на 11 версии кусок кода из 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 ) += '/' OR $_GET['cstart'] == 1 ) {
$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
$re_url = reset ( $re_url );
if(substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' AND $_GET['cstart'] AND $_GET['cstart'] != 1 ) {
$re_cat .= "/page/".intval($_GET['cstart']);
}
header("HTTP/1.0 301 Moved Permanently");
header("Location: {$re_url}{$re_cat}");
die("Redirect");
}
}
Добавилось пару строчек, и если следовать инструкции и заменить = на + то редирект на сайте происходит не правильный. При переходе на сайт.ру/собака/ должен осуществляться редирект на сайт.ру/собака
В .htaccess
Глобальный метод редиректа со слеша на без слеша
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} ![^\/]$
RewriteRule ^(.*)\/$ /$1 [R=301,L]
Глобальный метод редиректа со слеша на без слеша