301 редирект с старых url на ЧПУ

123
J
На сайте с 18.06.2007
Offline
158
#11

И мне подскажите, пожалуйста:

нужно сделать редирект этой старицы на главную:

сайт.ру/index.php?option=com_virtuemart&Itemid=9&lang=ru&page=option=com_content&view=frontpageshop.index

---------- Добавлено 10.06.2012 в 17:55 ----------

Или может тут как-то можно задать урл?

vmRedirect( $sess->url( 'index.php?page='.$redirect_to_page, false, false ), $VM_LANG->_('REG_COMPLETE') );

bon_eur
На сайте с 09.06.2012
Offline
40
#12
Junost:
И мне подскажите, пожалуйста:

нужно сделать редирект этой старицы на главную:

сайт.ру/index.php?option=com_virtuemart&Itemid=9&lang=ru&page=option=com_content&view=frontpageshop.index

Пожалуйста:

RewriteCond %{REQUEST_URI} =/index.php

RewriteCond %{QUERY_STRING} =option=com_virtuemart&Itemid=9&lang=ru&page=option=com_content&view=frontpageshop.index
RewriteRule . /? [R=301,L]
S0
На сайте с 30.01.2012
Offline
114
#13

Нет у меня id=№ представлены только в одном варианте

bon_eur:
starik08, я еще раз внимательно перечитал ваши сообщения в этом чужом топике. Уверяю вас, что редирект происходит туда, куда надо. То есть, именно туда, куда вы указали модулю mod_rewrite. Машины они вообще бездушные.

Ясно, большое спасибо за ответ

пробывал, Redirect permanent /old-page.html http://new-domain.ru/new-page.html но как я и думал не помогло.

Возможно ошибка в .hetaccess паньше страницы были такого вида

mydomen.ru›view_post.php?id=17

Выложу тут возможно кто то сможет помочь...

##

# @version $Id: htaccess.txt 21064 2011-04-03 22:12:19Z dextercowley $

# @package Joomla

# @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.

# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL

# Joomla! is Free Software

##

#####################################################

# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE

#

# The line just below this section: 'Options +FollowSymLinks' may cause problems

# with some server configurations. It is required for use of mod_rewrite, but may already

# be set by your server administrator in a way that dissallows changing it in

# your .htaccess file. If using it causes your server to error out, comment it out (add # to

# beginning of line), reload your site in your browser and test your sef url's. If they work,

# it has been set by your server administrator and you do not need it set here.

#

#####################################################

## Can be commented out if causes errors, see notes above.

Options +FollowSymLinks

#

# mod_rewrite in use

RewriteEngine On

########## Begin - Rewrite rules to block out some common exploits

## If you experience problems on your site block out the operations listed below

## This attempts to block the most common type of exploit `attempts` to Joomla!

#

## Deny access to extension xml files (uncomment out to activate)

#<Files ~ "\.xml$">

#Order allow,deny

#Deny from all

#Satisfy all

#</Files>

## End of deny access to extension xml files

# Block out any script trying to set a mosConfig value through the URL

RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]

# Block out any script trying to base64_encode data within the URL

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]

# Block out any script that includes a <script> tag in URL

RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]

# Block out any script trying to set a PHP GLOBALS variable via URL

RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

# Block out any script trying to modify a _REQUEST variable via URL

RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

# Return 403 Forbidden header and show the content of the root homepage

RewriteRule .* index.php [F]

#

########## End - Rewrite rules to block out some common exploits

########## Begin - Custom redirects

#

# If you need to redirect some pages, or set a canonical non-www to

# www redirect (or vice versa), place that code here. Ensure those

# redirects use the correct RewriteRule syntax and the [R=301,L] flags.

#

########## End - Custom redirects

# Uncomment following line if your webserver's URL

# is not directly related to physical file paths.

# Update Your Joomla! Directory (just / for root)

# RewriteBase /

########## Begin - Joomla! core SEF Section

#

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

#

# If the requested path and file is not /index.php and the request

# has not already been internally rewritten to the index.php script

RewriteCond %{REQUEST_URI} !^/index\.php

# and the request is for root, or for an extensionless URL, or the

# requested URL ends with one of the listed extensions

RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC]

# and the requested path and file doesn't directly match a physical file

RewriteCond %{REQUEST_FILENAME} !-f

# and the requested path and file doesn't directly match a physical folder

RewriteCond %{REQUEST_FILENAME} !-d

# internally rewrite the request to the index.php script

RewriteRule .* index.php [L]

#

########## End - Joomla! core SEF Section

RewriteCond %{QUERY_STRING} id=1

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

RewriteCond %{QUERY_STRING} id=2

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

RewriteCond %{QUERY_STRING} id=3

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

bon_eur
На сайте с 09.06.2012
Offline
40
#14
starik08:
RewriteEngine On

А попробуйте свои правила писать сразу после этой строчки. Чтобы остальные правила не влияли.

siv1987
На сайте с 02.04.2009
Offline
427
#15
Нет у меня id=№ представлены только в одном варианте
RewriteCond %{QUERY_STRING} id=1
RewriteRule ^(.*)$ /new/newpage1.html? [R=301,L]

RewriteCond %{QUERY_STRING} id=2
RewriteRule ^(.*)$ /new/newpage2.html? [R=301,L]

В одном варианте?

Вы знаете что "id=1" сработает для всех ид что начинаются на 1? id=2 на 2, и тд.

И да, добавляйте сразу за r-engine

S0
На сайте с 30.01.2012
Offline
114
#16
siv1987:
В одном варианте?
Вы знаете что "id=1" сработает для всех ид что начинаются на 1? id=2 на 2, и тд.

И да, добавляйте сразу за r-engine

Спасибо, действительно, убрал редирект со страниц которые включают только одну цифру, но как быть с редиректом страниц которые состоят из одной цифры или из 3? Как можно настроить редирект? подскажите плиз...

S0
На сайте с 30.01.2012
Offline
114
#17
starik08:
Спасибо, действительно, убрал редирект со страниц которые включают только одну цифру, но как быть с редиректом страниц которые состоят из одной цифры или из 3? Как можно настроить редирект? подскажите плиз...

Все, сделал! Теперь все работает, нужно было сначало прописывать редирект на страницы с трехзначными параметрами, и по убывающей.

bon_eur
На сайте с 09.06.2012
Offline
40
#18
starik08:
Все, сделал! Теперь все работает, нужно было сначало прописывать редирект на страницы с трехзначными параметрами, и по убывающей.

Ну и хорошо.

Если хочется писать правила в любом порядке, то можно использовать такой код:

RewriteCond %{QUERY_STRING} =id=1

RewriteRule . /new/newpage1.html? [R=301,L]

Этот редирект будет срабатывать для страницы с ?id=1, но не будет срабатывать для страниц вроде ?id=123. Кроме того, этот код должен работать чуть быстрее, так как здесь меньше используются регулярные выражения.

U8
На сайте с 27.05.2012
Offline
9
#19

Вот еще задачка. С страницы /tehnika?layout=default на /tehnika

Помогите

bon_eur
На сайте с 09.06.2012
Offline
40
#20
unik86:
Вот еще задачка. С страницы /tehnika?layout=default на /tehnika

Соответственно:

RewriteCond %{REQUEST_URI} =/tehnika

RewriteCond %{QUERY_STRING} =layout=default
RewriteRule . /tehnika? [R=301,L]

Заработало?

123

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