301 Редирект
Есть пут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;
Заранее спасибо!!!
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, один из многих вариантов.
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* — [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
для общего ревайта.
пример RewriteRule ^/?subcategory1/$?$ /category1/subcategory1/$ [L]
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]
Вариантов много.
т.е если откроешь страницу site.ru/subcategory1/file1.html откроется страница site.ru/category1/subcategory1/file1.html но в адресной строке будет site.ru/subcategory1/file1.html, один из многих вариантов.
Я физически перенесу статьи из category1/subcategory1/ в subcategory1/
т.е. физически в админке есть сейчас категория "для детей", в ней подкатегория "кроссворды", в которой статьи. Я хочу сделать, чтобы подкатегория "кроссворды" стала категорией. Категории "для детей" не будет вообще.
Но в поисковиках уже все с ней. Поэтому и хочу сделать редирект со старого адреса с категорией "для детей" на новый адрес без этой категории.
В таком случаи нужен редирект 301, посоветую тоже через файл htaccess, пример Redirect 301 /category1/subcategory1/file1.html www.твой сайт.ру/subcategory1/file1.htmlЯ физически перенесу статьи из category1/subcategory1/ в subcategory1/
т.е. физически в админке есть сейчас категория "для детей", в ней подкатегория "кроссворды", в которой статьи. Я хочу сделать, чтобы подкатегория "кроссворды" стала категорией. Категории "для детей" не будет вообще.
Но в поисковиках уже все с ней. Поэтому и хочу сделать редирект со старого адреса с категорией "для детей" на новый адрес без этой категории.
аналогично для всех страниц.
В таком случаи нужен редирект 301, посоветую тоже через файл htaccess, пример Redirect 301 /category1/subcategory1/file1.html www.твой сайт.ру/subcategory1/file1.htmlЯ физически перенесу статьи из category1/subcategory1/ в subcategory1/
т.е. физически в админке есть сейчас категория "для детей", в ней подкатегория "кроссворды", в которой статьи. Я хочу сделать, чтобы подкатегория "кроссворды" стала категорией. Категории "для детей" не будет вообще.
Но в поисковиках уже все с ней. Поэтому и хочу сделать редирект со старого адреса с категорией "для детей" на новый адрес без этой категории.
аналогично для всех страниц.
Это я понял, что либо через htaccess, либо через файл custom_rewrite.php. Вроде советуют тут на форуме через php делать. Не знаю правда, что лучше с точки зрение поисковой системы (или одинаково)?
Вот с php и запутался.
Ткните хотя бы носом в пример именно по удалению части строки