Редирект динамических страниц

ВC
На сайте с 02.02.2006
Offline
463
4489

На сайте динамические страницы типа http://old.ru/index.php?page=shop.product

А теперь клиент хочет их убрать и перейти на ЧПУ.

1. При обращении к несуществующим динамическим страницам посетитель получит 404 или попадет на главную?

2. Что нужно прописать в файле .htaccess, чтобы при обращении к динамической страницы был автоматический редирект на главную?

gormarket
На сайте с 29.12.2010
Offline
47
#1

Чтобы убрать 301 редиректом любую строку запроса в адресе после index.php добавьте в htaccess в корне сайта


RewriteCond %{QUERY_STRING} !^$
RewriteRule ^index.php$ index.php? [R=301,L]

И не забудьте проверить, включен ли у Вас модуль mod_rewrite (если в htaccess нет следующих строк, добавьте их)


RewriteEngine On
RewriteBase /
Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
A
На сайте с 21.07.2010
Offline
10
#2

Возникла проблема связанная с редиректами. Напишу сюда, что бы не создавать новую тему.

Есть несколько старых урлов вида http://sitename.ru/index.php?module=catalog&catid=31

Нужно сделать переадресацию на новые адреса вида http://sitename.ru/category_name/

Таких адресов буквально 4-5 штук, соответствия адресов четкие. Те решения, которые нашел в сети, не работают - сервер возвращает 500 ошибку. mod_rewrite на хостинге включен, на сайте работают чпу cms системы.

S
На сайте с 31.03.2011
Offline
2
#3

делайте обработку старых адресов в index.php с (301) переадресацией

<?

Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.new-url.com" );
?>
A
На сайте с 21.07.2010
Offline
10
#4
seopilot:
делайте обработку старых адресов в index.php с (301) переадресацией
<?

Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.new-url.com" );
?>

На сайте развернута UMI cms там влезть в ядро движка нереально и нерекомендуется. При обновлении системы все затрется. Нужно через .htaccess

S
На сайте с 31.03.2011
Offline
2
#5

пишите правила на каждый адрес в .htaccess

или используйте директиву auto prepend file для пред-загрузки php обработчика

maldivec
На сайте с 04.11.2008
Offline
160
#6
arbuzzz:
Есть несколько старых урлов вида http://sitename.ru/index.php?module=catalog&catid=31
Нужно сделать переадресацию на новые адреса вида http://sitename.ru/category_name/

RewriteEngine on

RewriteBase /

RewriteCond %{QUERY_STRING} ^module=catalog&catid=31$

RewriteRule ^(.*)$ /category_name/? [R=301,L]

RewriteCond %{QUERY_STRING} module\=catalog&catid\=3456$

RewriteRule ^(.*)$ /another_category_name/? [R=301,L]

и т.д.

A
На сайте с 21.07.2010
Offline
10
#7
maldivec:
RewriteEngine on
RewriteBase /

RewriteCond %{QUERY_STRING} ^module=catalog&catid=31$
RewriteRule ^(.*)$ /category_name/? [R=301,L]

RewriteCond %{QUERY_STRING} module\=catalog&catid\=3456$
RewriteRule ^(.*)$ /another_category_name/? [R=301,L]

и т.д.

ОГРОМНОЕ спасибо! Вы просто не представляете, как меня выручили =)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий