siv1987

siv1987
Рейтинг
427
Регистрация
02.04.2009
nokia3310:
Направил домен2 на ту же директорию на хостинге
nokia3310:
В .htaccess прописал
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) домен2/$1 [R=301,L]

И как, работает? У меня есть некоторые опасения..

nokia3310:
но все внутренние ссылки ведут на домен1.

А вот здесь надо поменять ссылки на второй домен, или хотябы сделать их относительными

SweetSnake:
Через robots и meta запретить не могу, цмс не позволяет.

Через роботс цмс не позволяет, а через htaccess позволяет?

htaccess не запрещает индексацию, он блокирует доступ к этой странице.

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} google

RewriteRule ^адрес_страницы$ - [F]

bahus:
Прописал так

А как было написана прописать?

Вот вам полностью рабочий вариант


RewriteEngine on
RewriteBase /

RewriteRule ^cat/avtobetononasos/13-avtobetononasos-zoomlion-zlj53945thb125-44\.html$ /katalog/avtobetononasosy/avtobetononasos-zoomlion-zlj5394-5thb125-44 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [L]

На простом Redirect 301 такой редирект не получится. Здесь нужно делать только с мод реврайтом.

Если они у вас настолько отличаются и не совпадают по шаблону тогда для каждого

RewriteRule ^cat/avtobetononasos/13-avtobetononasos-zoomlion-zlj53945thb125-44\.html$ /katalog/avtobetononasosy/avtobetononasos-zoomlion-zlj5394-5thb125-44 [L,R=301]

Добавить тоже после RewriteBase

и удалить все Redirect 301 ..

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

bahus:
Там кроме префикса

Там то что я написал. Пробовали именно как я привел? Работает? Нет - что показывает?

maldivec:
siv1987, kdv12, а то что старые урлы отличаются не только окончанием ".html" и каталогом "cat" вас не смутило?

Может я невнимательно пост прочел, а где там другие окончания кроме .html на старом урле?

Значит Redirect 301 убрать

Ниже RewriteBase /

Добавить

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)\.html$ /$1? [R=301,L]

$cat_info = get_vars( "category" );


if( ! $cat_info ) {

$cat_info берется из кэша, и если только кэш пустой делается запрос в бд. Потом из полученных данных снова перезаписывается кэш категории. Тут могут быть проблемы с кэшем если он еще где-то будет использоваться - не будут все категории и тд.

Можно

этот код


$cat_info = get_vars( "category" );

if( ! $cat_info ) {
$cat_info = array ();

$db->query( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" );
while ( $row = $db->get_row() ) {

$cat_info[$row['id']] = array ();

foreach ( $row as $key => $value ) {
$cat_info[$row['id']][$key] = $value;
}

}
set_vars( "category", $cat_info );
$db->free();
}

Заменить на


//кэш рсс
$cat_info = get_vars( 'category_rss' );

if( ! $cat_info ) {
$cat_info = array ();

$db->query( "SELECT * FROM " . PREFIX . "_category WHERE id IN ( 1) ORDER BY posi ASC" );
while ( $row = $db->get_row() ) {

$cat_info[$row['id']] = array ();

foreach ( $row as $key => $value ) {
$cat_info[$row['id']][$key] = $value;
}

}
//кэш рсс
set_vars( "category_rss", $cat_info );
$db->free();
}
Всего: 6568