Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как заставить работать 301 редирект с /index.php?do=map на karta.html ?

Как заставить работать 301 редирект с /index.php?do=map на karta.html ?


     16.04.2019    Общие вопросы, Ламерские вопросы    881

вопрос
Родной DLE htaccess. Не получается организовать 301 редирект с страницы site.ru/index.php?do=map на страницу site.ru/karta.html Пробовал три варианта и кучу вариаций, не работает.

1. RewriteRule ^karta.html$ index.php?do=map [L]

2. Redirect 301 /index.php?do=map http://site.ru/karta.html

3. RewriteCond %{REQUEST_URI} ^/index.php?do=map$
RewriteRule ^.*$ http://site.ru/karta.html[R=301,L]

Помогите пожалуйста разобраться где ошибка.

Ответил: prpobed5


Проискав полдня нашел правильную строку для htaccess, может кому нужно будет:

RewriteCond %{QUERY_STRING} ^do=map
RewriteRule ^.*$ /karta.html? [R=301,L]

4 комментария

Сергей_Волков
Юзер

Сергей_Волков - 16 апреля 2019 23:07 -

Для теста попробуй так:
RewriteRule ^karta(/?)+$ index.php?do=map [L]

Ссылка - sait.ru/karta

prpobed5
Юзер

prpobed5 - 17 апреля 2019 08:15 -

Спасибо за помощь. К сожалению тоже не работает.
Пробовал и в конце htaccess и вверху сразу после RewriteBase /
Думал, что может правила конфликтуют.
Перерыл и этот сайт и инет, странно, что нет примеров для этого стандартного для DLE случая.
Вопросы люди задают, а работающих решений почему-то нет.
Буду благодарен за любую помощь.

temporary
Юзер

temporary - 17 апреля 2019 08:44 -

В файл init.php, например, после строки:
if( $do == "tags" AND !$_GET['tag'] ) $do = "alltags";

добавить:
if ($do == "map") {
	header("HTTP/1.0 301 Moved Permanently");
	header("Location: /karta.html");
	die("Redirect");
}

prpobed5
Юзер

prpobed5 - 17 апреля 2019 12:52 -

Спасибо за помощь. Да, я нашел подобное решение:

if ($do == "map") {
header("Location: /karta.html", true, 301);
exit();
}

Но проискав полдня нашел правильную строку для htaccess, может кому нужно будет:

RewriteCond %{QUERY_STRING} ^do=map
RewriteRule ^.*$ /karta.html? [R=301,L]

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх