Codeigniter: 301 URL перенаправления со старого сайта

Я недавно запустил сайт codeigniter и мне нужно сделать 301 переадресацию со старого сайта на новый. Они не будут работать с регулярными выражениями, поэтому, поскольку их всего несколько, я могу написать перенаправления для каждой страницы. Однако, после нескольких часов поиска в Google / исправления, я все еще не испытываю радости. URL-адреса старого сайта — это файлы .html, тогда как мои URL-адреса codeigniter являются «чистыми» URL-адресами. Вот мой текущий файл .htaccess:

<IfModule mod_alias.c>
redirect 301 "/index.html" /index.php
</IfModule>

<IfModule mod_rewrite.c>
DirectoryIndex index.php
RewriteEngine on

#This is the redirect I've been trying to make work
RewriteRule ^/about-us.html /index.php?/about-us [R=301,L]

RewriteCond $1 !^(index\.php|index\.html|lib|robots\.txt)
RewriteRule ^(.*)$ index.php?/$1

</IfModule>

Есть идеи?

0

Решение

Ты можешь использовать:

RewriteRule ^(about-us)\.html$ /index.php?/$1 [R=301,NC,L,QSA]

Или для перенаправления всего старого .html ссылки по теме:

RewriteRule ^(.+?)\.html$ /index.php?/$1 [R=301,NC,L,QSA]

РЕДАКТИРОВАТЬ: Исходя из комментариев, вам просто нужно это правило, чтобы позаботиться о старых URL:

RewriteCond %{THE_REQUEST} \s/+(.+?)\.html[\s?] [NC]
RewriteRule ^ /%1 [R=302,L,NE]
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]