У меня есть новый сайт для существующего домена.
Я хочу перенаправить старые URL-адреса на новый сайт, но простой способ: Перенаправить 301 oldURL newURL не работает.
Мне сказали, что есть проблема с тем, что старый URL-адрес содержит index.php в нем и что для этого мне нужно правило перезаписи …
пример для новых / старых URL-адресов:
old: http://www.example.com/index.php?type=store&category=11&subcategory=15&item=67
новый: http://www.example.com/64-white-
был бы признателен за помощь в правиле, которое мне нужно вставить в HTACCESS
tnx впереди
парень
Существует несколько способов создания постоянной переадресации в .htaccess:
RedirectPermanent /index.php?type=store&category=11&subcategory=15&item=67 http://www.example.com/64-white- Redirect 301 /index.php?type=store&category=11&subcategory=15&item=67 http://www.example.com/64-white- RedirectRule /index.php?type=store&category=11&subcategory=15&item=67 http://www.example.com/64-white- [L,R=301]
Хотя, поскольку вы говорите о перенаправлении с index.php, я бы посоветовал вам рассмотреть возможность переадресации в коде.
например, вы можете создать файл oldsite_redirects.php следующим образом:
<?php $redir_maps = array( '/index.php?type=store&category=11&subcategory=15&item=67' => '/64-white-' ); if(in_array(@$_SERVER['REQUEST_URI'], array_keys($redir_maps))){ header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$redir_maps[@$_SERVER['REQUEST_URI']]); exit; } ?>
И в файле index.php добавьте следующую строку ABOVE весь код и комментарии:
require_once('oldsite_redirects.php');
надеюсь это поможет.
Чтобы сделать постоянную переадресацию в файле htaccess, вы можете использовать RedirectPermanent:
RedirectPermanent /index.php?type=store&category=11&subcategory=15&item=67 http://www.example.com/64-white-
из-за перезаписи url, я думаю, что невозможно использовать регулярное выражение.