URL переписать с поворотом
У меня проблемы с переписыванием определенного URL.
Я занимаюсь перемещением сайта, и у Google все еще есть старые URL-адреса в индексе, которые он сканирует, и которые я хотел бы перенаправить на новую страницу. Я думал, прежде чем я сделаю полосу строки запроса для строк запроса и перенаправления, мне было интересно, если вы можете сделать это в mod_rewrite сначала? В настоящее время у меня есть это в моем.htaccess, но это не работает.
RewriteRule ^news.php?action=view&title=(.*) /blog.php?article_keyword=$1 [L]
Среда Linux с Apache
2 ответа
Используйте этот код в вашем.htaccess:
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteCond %{QUERY_STRING} ^action=view&title=(.*)$ [NC]
RewriteRule ^news\.php/?$ /blog.php?article_keyword=%1 [L,R=301,NC]
Так нельзя -- RewriteRule
не работает со строкой запроса напрямую - только с помощью RewriteCond
:
RewriteCond %{QUERY_STRING} ^action=view&title=(.*)
RewriteRule ^news.php$ /blog.php?article_keyword=%1 [R=301,L]
я добавил R=301
флаг для выдачи постоянного перенаправления, поэтому Google будет знать, что старый URL больше не используется, и вместо этого ему следует использовать новый URL. Если вам не нужен такой редирект, то удалите его и оставьте только L
флаг.