Dimensi
@Dimensi
Совсем недавно начал познавать верстку.

Как правильно оформить redirect 301?

Есть сайт, у него по адресу index.php/coID/1/ информация (контакты). Если вписать после coID/1/textawannan абсолютно любой текст, то откроется тоже самое, только с таким адресом. Как мне сделать redirect 301 в .htaccess, чтоб на любой текст после слеша перемещало к /coID/1 ?
Я почитал, подумал, что просто.
Написал
RewriteBase /index.php/coID/1/
RewriteRule ^(.*)$ /index.php/coID/1 [R=permanent]
А мне 500 ошибку выдает.
Когда сделал
redirectMatch 301 ^/index.php/coID/1/(.*)$ new.site.ru/index.php/coID/1
То произошла циклическая переадресация.
Когда сделал так
RewriteBase /
RewriteCond %{REQUEST_URI} (/index.php/coID/1|/index.php/coID/1/)(.*)$ [NC]
RewriteRule ^(/index.php/coID/1|/indext.php/coID/1/)(.*)$ $2 [L,R=301]
То ничего не произошло)
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
@ShamblerR
для начала ты делаешь какую то херь.
скорее всего ты делаешь что-то изначально не так
1. у тебя остается index.php в урле а это не правильно
2. у тебя не ЧПУ ссылки в виде обычных ID что тоже не правильно.
3.
Насколько я понимаю у тебя есть index.php/текст/ID
следовательно пишем правило
RewriteCond %{REQUEST_URI} ^(index.php/.*/[0-9{1,}]/)(.*)
 RewriteRule . %1 [R=301,L]

Теперь все что будет после ID в частности цифры от 0-9 от 1 штуки и до бесконечности, после них все будет удалятсья.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
UAPEER
@UAPEER
UAPEER Hosting Solutions Англия
Используйте NGINX перед Apache, не только для решения таких задач, но и для кеширования и ускорения работы сайта. Пишите всего пару строчек вида:
location =/index.php/ {
return 301 /coID/1;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы