Я посмотрел на это переполнение стека, но не найти соответствующий ответ:Htaccess, URL переписывания и перенаправлять 301
У меня есть файл Htaccess с этим:
RewriteCond %{HTTP_HOST} !^www\.mywebsite\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*) http://www.mywebsite.com/$1 [L,R,NE]
RewriteRule ^home$ /index.php [L]
RewriteRule ^home$ /index.php?content=home [L]
RewriteRule ^accueil$ /index.php?content=home&lang=fr [L]
RewriteRule ^home$ /index.php?content=home&lang=en [L]
RewriteRule ^acceuil-message-1$ /index.php?content=home&val=1&lang=fr [L]
RewriteRule ^home-notice-1$ /index.php?content=home&val=1&lang=en [L]
RewriteRule ^acceuil-message-2$ /index.php?content=home&val=2&lang=fr [L]
RewriteRule ^home-notice-2$ /index.php?content=home&val=2&lang=en [L]
RewriteRule ^news-a-la-une$ /index.php?content=news&mode=featured&lang=fr [L]
RewriteRule ^featured-news$ /index.php?content=news&mode=featured&lang=en [L]
RewriteRule ^news-recentes-([0-9]+)$ /index.php?content=news&mode=list&page=$1&lang=fr [L]
RewriteRule ^latest-news-([0-9]+)$ /index.php?content=news&mode=list&page=$1&lang=en [L]
...
Он отлично работает.
Но мне нужно настроить 301 переадресацию. Итак, я просто изменил каждый [L] на [R = 301, L]
Но когда я это делаю, мои URL-адреса вернулись, как и раньше, в браузере.
Я предполагаю, что перенаправление применяется дважды, что объясняет, почему у меня нет сообщения об ошибке, пока отображаются старые URL-адреса, но я не знаю, где применять [R = 301, L ] и где не для того, чтобы заставить его работать.
Благодарим за помощь.
Вы пытаетесь смешивать переадресацию и переписывать. Вам не нужно '301', если вы просто переписываете URL-адрес. «Длинные» URL не будут видны. '301' полезен, если вы переместите страницу в другое место, но я не думаю, что это вы пытаетесь сделать здесь. – sonique
Спасибо, соник. На самом деле я хочу переписать URL-адрес, но мне также нужно перенаправить, так как мне нужны поиски Google, чтобы больше не указывать на предыдущий URL-адрес веб-сайта. Я читаю почти везде, что перенаправление 301 - это способ пойти на это. Итак, что мне делать, чтобы этот файл делал то, что мне нужно? Благодарю. –
Итак, каков предыдущий URL? один с 'index.php? ....' – sonique