301 Редирект

 
Посетитель
small user social cms
Сообщений: 80
Добрый день

Есть путb такого плана:
site.ru/category1/subcategory1/file1.html
site.ru/category1/subcategory1/file2.html
site.ru/category1/subcategory2/file3.html
site.ru/category1/subcategory3/file4.html
site.ru/category1/

нужно

site.ru/subcategory1/file1.html
site.ru/subcategory1/file2.html
site.ru/subcategory2/file3.html
site.ru/subcategory3/file4.html
site.ru/

т.е. нужно убрать лишнюю вложенность статей. В админке сделаю, а вот как сделать для поисковиков правильный редирект??? Запутался уже. Как правильно прописать файл custom_rewrite.php (запутался с метасимволами)??

function custom_rewrite_rules(){
$rules[] = array(
'source' => ЧТО СЮДА ПИСАТЬ???
'target' => ЧТО СЮДА ПИСАТЬ???
'action' => 'redirect-301'
);

return $rules;

Заранее спасибо!!!
http://umnie-roditeli.ru
Развиваю и воспитываю детей (своих)
Посетитель
small user social cms
Медаль
Сообщений: 198
Это не редирект. Если ты хочешь изменить пути, можешь сделать так в файле .htaccess
RewriteRule ^/?subcategory1/file1.html?$ /category1/subcategory1/file1.html [L]

т.е если откроешь страницу site.ru/subcategory1/file1.html откроется страница site.ru/category1/subcategory1/file1.html но в адресной строке будет site.ru/subcategory1/file1.html, один из многих вариантов.
Пример социальной сети, разработанной мною http://haysite.am ,там же на сайте в левом нижнем углу пример баннера. ICQ: 406-106-460
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 198
Можешь еще включить в htaccess
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
для общего ревайта.

пример RewriteRule ^/?subcategory1/$?$ /category1/subcategory1/$ [L]
Пример социальной сети, разработанной мною http://haysite.am ,там же на сайте в левом нижнем углу пример баннера. ICQ: 406-106-460
Посетитель
small user social cms
Медаль
Сообщений: 198
а еще лучше так

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/)?subcategory1/([^/]*)$ /category1/subcategory1/$1 [L]
RewriteRule ^(.*/)?subcategory2/([^/]*)$ /category1/subcategory1/$1 [L]
RewriteRule ^(.*/)?subcategory([0-9]+)/([^/]*)$.html /category1/subcategory$1/$2.html [L]

Вариантов много.
Редактировалось: 1 раз (Последний: 7 сентября 2011 в 15:28)
Пример социальной сети, разработанной мною http://haysite.am ,там же на сайте в левом нижнем углу пример баннера. ICQ: 406-106-460
Посетитель
small user social cms
Сообщений: 80
GoodBoy,
т.е если откроешь страницу site.ru/subcategory1/file1.html откроется страница site.ru/category1/subcategory1/file1.html но в адресной строке будет site.ru/subcategory1/file1.html, один из многих вариантов.

Я физически перенесу статьи из category1/subcategory1/ в subcategory1/
т.е. физически в админке есть сейчас категория "для детей", в ней подкатегория "кроссворды", в которой статьи. Я хочу сделать, чтобы подкатегория "кроссворды" стала категорией. Категории "для детей" не будет вообще.
Но в поисковиках уже все с ней. Поэтому и хочу сделать редирект со старого адреса с категорией "для детей" на новый адрес без этой категории.
http://umnie-roditeli.ru
Развиваю и воспитываю детей (своих)
Посетитель
small user social cms
Медаль
Сообщений: 198
densvi:
Я физически перенесу статьи из category1/subcategory1/ в subcategory1/
т.е. физически в админке есть сейчас категория "для детей", в ней подкатегория "кроссворды", в которой статьи. Я хочу сделать, чтобы подкатегория "кроссворды" стала категорией. Категории "для детей" не будет вообще.
Но в поисковиках уже все с ней. Поэтому и хочу сделать редирект со старого адреса с категорией "для детей" на новый адрес без этой категории.
В таком случаи нужен редирект 301, посоветую тоже через файл htaccess, пример Redirect 301 /category1/subcategory1/file1.html http://www.твой сайт.ру/subcategory1/file1.html
аналогично для всех страниц.
Пример социальной сети, разработанной мною http://haysite.am ,там же на сайте в левом нижнем углу пример баннера. ICQ: 406-106-460
Посетитель
small user social cms
Сообщений: 80
GoodBoy:

densvi:
Я физически перенесу статьи из category1/subcategory1/ в subcategory1/
т.е. физически в админке есть сейчас категория "для детей", в ней подкатегория "кроссворды", в которой статьи. Я хочу сделать, чтобы подкатегория "кроссворды" стала категорией. Категории "для детей" не будет вообще.
Но в поисковиках уже все с ней. Поэтому и хочу сделать редирект со старого адреса с категорией "для детей" на новый адрес без этой категории.
В таком случаи нужен редирект 301, посоветую тоже через файл htaccess, пример Redirect 301 /category1/subcategory1/file1.html http://www.твой сайт.ру/subcategory1/file1.html
аналогично для всех страниц.

Это я понял, что либо через htaccess, либо через файл custom_rewrite.php. Вроде советуют тут на форуме через php делать. Не знаю правда, что лучше с точки зрение поисковой системы (или одинаково)?

Вот с php и запутался.
Редактировалось: 1 раз (Последний: 7 сентября 2011 в 16:03)
http://umnie-roditeli.ru
Развиваю и воспитываю детей (своих)
Посетитель
small user social cms
Медаль
Сообщений: 198
Для поисковиков без разницы, лиш бы они поняли что это 301
Пример социальной сети, разработанной мною http://haysite.am ,там же на сайте в левом нижнем углу пример баннера. ICQ: 406-106-460
Посетитель
small user social cms
Сообщений: 80
Помогите, плиз , разобраться с этими метасимволами!!!
Ткните хотя бы носом в пример именно по удалению части строки
http://umnie-roditeli.ru
Развиваю и воспитываю детей (своих)
Посетитель
small user social cms
Сообщений: 80
Решил сделать в htaccess
http://umnie-roditeli.ru
Развиваю и воспитываю детей (своих)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: