siv1987

siv1987
Рейтинг
427
Регистрация
02.04.2009

RewriteCond %{QUERY_STRING} ^c=catalog&m=([^&]+)(&per_page=\d+)?$

RewriteRule ^price/ /page-%1/? [R=301,L]

добавить в самом начале, после RewriteEngine On. Если его нету - дописать и после вставить редирект.

tolik777:
посоветуйте куда можно обратиться, чтобы самописный CMS потестировали на предмет взлома?

audit.antichat.ru/

tolik777:
но без каких-либо четких рекомендаций.

Какие еще четкие рекомендации здесь могут быть? - Пишите безопасный код, если хотите провести аудит своего скрипта обращайтесь к соответствующим людям. Скажу, что такие спецы берут очень не дешево.

идет поиск возможности выполнения чего-нибудь из левой части RewriteRule и если это что-нибудь там находится, то преобразрвание не производится.

Синтаксис директивы

RewriteRule pattern substitution

если pattern соответствует REQUEST_URI выполняется преобразование substitution. В rewriteRule не обрабатывается QUERY_STRING, т.е. index.php?param == index.php

для вашего примера

RewriteEngine On

RewriteCond %{QUERY_STRING} ^search_rtype=2

RewriteRule ^information.php$ information.html [L]

Похоже, что вы даже синтаксис перепутали

RewriteRule ^information\.html information.php?search_rtype=2 [L]

Флаг R это редирект, не преобразование.

lakshmi:
Подставил
'/мы-предлагаем/теплицы-и-парники',
'http://moysait.ru/teplitsy-i-parniki/',

Здесь проще написать функцию транслита, проверять если в урл есть кириллические символы, транслитерировать его и делать редирект. И не нужно по одному адресу перечислять каждый урл.

Cyberdyne:
В суппорт хостера не писал

А стоило.

Ну раз платите денежку показывайте сайт и давайте доступ (в лс если что).

unexpected T_VARIABLE in /.../index.php on line 1

Что у вас на первой строчки?

Если вставляете в скрипт, тогда подразумевается что теги php - <?php ?> нужно убрать (отсюда, не из файла если что)

Перед этим кодом не должно быть вывод текста в браузере (особенно пустых строк перед <?php), так как не сможете отправить заголовки.

А для кириллицы это $uri = $_SERVER['REQUEST_URI'];

замените на $uri = urldecode( $_SERVER['REQUEST_URI'] );

Если набрать index.php?

В самом файле index.php что?

Сам хостер как комментирует это?

После переезда на новый хостинг днс зоны успели обновится?

В htaccess случайно нет записи с DirectoryIndex которая указывает на другой файл, например на статический index.html?

<?php


/*
* Url куда редиректим обязательно должен
* быть последним в списке
*/
$redir = array(
array(
'/request_url_1',
'/url_to_redirect_1',
),
array(
'/request_url_2',
'/request_url_2_2',
'/url_to_redirect_2',
)
);

$uri = $_SERVER['REQUEST_URI'];
foreach( $redir as $r )
{
$url = array_pop( $r );
if( count($r) > 1 )
{
foreach( $r as $v ){
if( $uri == $v ){
header( 'Location: '.$url, true, 301 );
exit;
}
}
}
else
{
if( $uri == $r[0] ){
header( 'Location: '.$url, true, 301 );
exit;
}
}
}

/* Общий редирект */
header( 'Location: /index.php', true, 301 );
exit;

?>

Кто хочет может добавить себе поддержку регекспов

Zdorova:
Так будут теряться в вашем варианте или в варианте Умки?

Во втором, моем. Я вроде написал, что первый работает для ГЕТ, значит для ПОСТ он работать не будет. Тут еще вопрос каким образом запрашивает страницу бот.

Если юзаете вариант [umka], к ГЕТ можно еще добавить и HEAD - ^(?:GET|HEAD)

Всего: 6568