Редактор темы

Реклама
Реклама

Вопрос? Не убирается index.php и index.html из адреса главной страницы, почему?

  • Автор темы Автор темы yuris
  • Дата начала Дата начала

yuris

Местный
Регистрация
21 Сен 2015
Сообщения
1.472
Рейтинг реакций
538
Баллы
113
1/3
Автор темы
Всем привет. Кароче я *удалено, п.2.2 настоящих правил* уже с этой хней. Никак не убирается index.php и index.html из адреса главной страницы. DLE 11.2 Сайт открывается по обоим адресам site.ru и site.ru/index.php? и оба отдают код 200 и индексируются создавая кучу дублей. Уже и Алаича ставил редирект и по Геймеру и один *удалено, п.2.2 настоящих правил* правило вот это тупо не работает.

Геймер:
# Редирект с index.php/html на сайт
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
RewriteRule .* / [R=301,L]

Алаев:
### Редиректы с index.php или index.html на сайт
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
RewriteRule .* / [R=301,L]

Кто шарит, подскажите, в чем секрет, что не работает эта хрень на версии DLE 11.2

Вот такую хню еще нарыл
RewriteRule ^index.php$ / [QSA,R]
но он убирает только index.php, т.е знак вопроса остается. Такая хрень получается: было site.ru/index.php? после установки правила становится так site.ru/? что собственно не лучше!
 
Последнее редактирование модератором:
Код:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]
 
Автор темы
сйчас обратил внимание, что после переноса нескольких сайтов на зомро у них тоже не работет это правило. Что за дичь? Дело в настройках сервера чтоль???

Den по ходу это проблемы где-то в сервере как я понял...
 
Последнее редактирование модератором:
Если у вас сайт на https то и надо прописывать протокол или вообще убрать уточнение и сделать для обоих, у вас там сайт наверное на https
Вставить после инициализации
RewriteEngine On

Код:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,10}\ /index\.(php|html)
RewriteRule .* / [R=301,L]
 
Автор темы
Последнее редактирование модератором:
Автор темы
почему после того как ставишь правила редиректа, либо вообще ничего не происходит, либо вместо http://site.ru/index.php? получается http://site.ru/? как убрать этот знак вопроса в конце слеша??? Это капец!
 
закрой в роботе и все дела
Disallow: /*.html
Disallow: /*.php
 
Автор темы
Romantv та я уже тоже об этом думал, но хочется как-то по фэншую что ли... )
 
Romantv та я уже тоже об этом думал, но хочется как-то по фэншую что ли... )
попробуй тогда эти правила что выше в разных местах прописать,всмысле не все сразу а по очереди.
у меня был случай не помню что за правило,короче прописываешь ее верху не работает прописываешь немного ниже работает,значит другие правила мешают
 
Автор темы
Читаем вниматочно!! Короче говоря, после долгих танцев с бубном выяснилось, что если устанавливать любые приведенные выше правила редиректа, они работают ВСЕ! Но, только если адрес/URL имеет вид site.ru/index.php (без знака вопроса в конце) то тогда происходит редирект на правильную главную страницу такого вида site.ru/ (как и положено). Опять таки, если адрес имеет вид site.ru/index.php? (со знаком вопроса в конце) то большая часть правил категорически НЕ работает за исключением этого

RewriteCond %{THE_REQUEST} ^[A-Z]{3,10}\ /index\.(php|html) RewriteRule .* / [R=301,L]

Но это правило исключает из адреса только index.php и делает редирект на какой-то левый такого вот вида site.ru/? (со знаком вопроса после слеша) что собственно тоже ярый косяк. Теперь назрел новый вопрос и он сильно меня беспокоит, нет, даже бесит! Что это за такой стремный адрес/URL site.ru/index.php? (со знаком вопроса в конце) на который не действуют никакие правила редиректа, при этом отдающий код 200 и замечательно индексирующийся ПС создавая дубли и глваное: Как от него избавиться!?!
 

Вложения

  • Screenshot_2.png
    Screenshot_2.png
    1,8 КБ · Просмотры: 11
Последнее редактирование:
yuris это все ссылки в ДЛЕ без ЧПУ, их видно в htaccess:
2018-01-07_00-35-31.png
 
Автор темы
byroot так что делать нужно в этом случае? Главная страница сайта открывается по этому козлиному адресу http://site.ru/index.php?
Это же ни есть гуд, ее нужно как-то ликвидировать насколько я понимаю..., но как я не знаю и пока ответов не нашел!
 
yuris надо разбираться с настройкой сервера! Точнее не скажу, т.к. последний год 90% всего доверяю ТП хостера. Если есть возможность - пиши им и пускай они настраивают сервер правильно чтобы не было таких баговых ссылок и редиректов.
 
Автор темы
byroot я им уже писал. Вчера вместе с ними с вечера до 5 утра с этой ерундой разбирались, но они так ничего и не смогли с этим сделать. Они походу там сами точно не знают из-за чего эти траблы. Тыкают наугад, вставляют какие-то разные правила редиректа в .htaccess а ни фига все равно не работает!

Знать бы конкретно что им нужно настраивать, так сказать ткнуть их носом в нужном направлении, типа нужно поковырять там-то или там-то, такой-то файл и/или папку на сервере. Возможно они бы и настроили. Но я ХЗ что и как им объяснить и как их натолкнуть на правильные мысли ибо сам в этом ни черта не смыслю.
 
Автор темы
Кому интересно, такая проблема была решена (несколько топорно, но зато реально работает). Итак, проблема была устранена путем вставления в корневой файл index.php в самое его начало такого маленького кода

if ( getenv(’REQUEST_URI’) == ‘/index.php?‘ )

{

Header( “HTTP/1.1 301 Moved Permanently” );

Header( “Location: http://site.ru/” );

exit;

}
 
yuris ничего топорного. Обычный метод, но средствами php. Довольно часто используется. Знал бы, что такой подойдёт, то сразу предложил бы 🙂
 
Кому интересно, такая проблема была решена (несколько топорно, но зато реально работает). Итак, проблема была устранена путем вставления в корневой файл index.php в самое его начало такого маленького кода

if ( getenv(’REQUEST_URI’) == ‘/index.php?‘ )

{

Header( “HTTP/1.1 301 Moved Permanently” );

Header( “Location: http://site.ru/” );

exit;

}

Parse error: syntax error, unexpected ')' in /var/www/***/data/www/****/index.php on line 2

Не идёт чё то.
 
Куда вставлял?
Да по разному пробовал.
Покаж на примере как у тебя работает.

Код:
<?php
/*
=====================================================
 DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
 http://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004-2017 SoftNews Media Group
=====================================================
 Данный код защищен авторскими правами
=====================================================
 Файл: index.php
-----------------------------------------------------
 Назначение: Главная страница
=====================================================
*/

@ob_start ();
@ob_implicit_flush ( 0 );

@error_reporting ( E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE );

define ( 'DATALIFEENGINE', true );
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );

require_once ROOT_DIR . '/engine/init.php';

?>
 
Автор темы
Назначение: Главная страница
=====================================================
*/

сюда вставляй

@ob_start ();
@ob_implicit_flush ( 0 );
 

Похожие темы Последние темы Популярные темы

Назад
Сверху