Опубликовано: 5 сентября 201411 г Доброго дня всем. Дурная голова (рукам) ногам покоя не дает...Решил поменять немножко вид ссылок. Было:сайт/topic/104-tema/ стало /topic104/сайт/forum/12-forum/ стало /forum12/Так увлекся сменой урлов, что забыл про ошибку 404 в выдаче. Как правильно организовать 301 редирект? Очень надеюсь на вашу помощь. Спасибо.
Опубликовано: 5 сентября 201411 г Добавить после RewriteEngine On RewriteRule ^(topic|forum)/(\d+)-[^/]+/(.*) /$1$2/$3 [R=301,L]
Опубликовано: 5 сентября 201411 г Автор 500 ошибка встает, если добавлю после RewriteEngine On<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://alcogolik.net/ [R=301,L] RewriteRule ^home\.php$ http://alcogolik.net/ [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule \.(jpeg|jpg|gif|png)$ /public/404.php [NC,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> Все. Заработало. Спасибо огромное! Изменено 5 сентября 201411 г пользователем salex
Опубликовано: 5 сентября 201411 г Пардон, пропустил имя директивы. В данном случае можно даже добавить после RewriteBase
Опубликовано: 5 сентября 201411 г Автор топики заработали, а форумы нет. З.Ы. Посмотрел, что еще в индексе несколько есть старых ссылок в виде сайт/f12/ а сейчас /forum12/
Опубликовано: 5 сентября 201411 г Почистите кеш браузера. Если работают темы то должны работать и форумы. Собственно я вижу что редирект у форумов есть.
Опубликовано: 5 сентября 201411 г Автор Да. Со старых редирект есть. Это просто гугл уж такой быстрый, что пока я правил ЧПУ и напортачил вместо /topic/ - оставил /t/, а /forum/ - /f/ думал так еще уменьшить длину урл. Назад вернул, а гугл уже проиндексировал. И сейчас в индексе у гугласайт/t104/сайт/f12/В яндексе все нормально. Он даже и не узнал, что я что-то менял)) Там редирект отрабатывает сейчас на все 100%.
Опубликовано: 5 сентября 201411 г Там же ниже добавить RewriteRule ^t(\d+)/(.*) /topic$1/$2 [R=301,L]RewriteRule ^f(\d+)/(.*) /forum$1/$2 [R=301,L]
Опубликовано: 24 апреля 20169 г Автор Еще один вопрос по редиректу, если можно)Как правильно перенаправить к примеру с topic/page12/ на topic/?page=12
Опубликовано: 24 апреля 20169 г Автор что-то не выходит..<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www\. RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteRule ^topic/page(\d+)/ /topic/?page=$1 [R=301,L] RewriteRule ^(topic|forum)/(\d+)-[^/]+/(.*) /$1$2/$3 [R=301,L] RewriteRule ^t(\d+)/(.*) /topic$1/$2 [R=301,L] RewriteRule ^f(\d+)/(.*) /forum$1/$2 [R=301,L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule \.(jpeg|jpg|gif|png)$ /public/404.php [NC,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> Изменено 24 апреля 20169 г пользователем salex
Опубликовано: 24 апреля 20169 г Автор Не правильно я спросил... Если topic12/page12/Так не правильно?RewriteRule ^topic(\d+)/page(\d+)/ /topic$1/?page=$1 [R=301,L] Изменено 24 апреля 20169 г пользователем salex
Доброго дня всем.
Дурная голова (рукам) ногам покоя не дает...
Решил поменять немножко вид ссылок.
Было:
сайт/topic/104-tema/ стало /topic104/
сайт/forum/12-forum/ стало /forum12/
Так увлекся сменой урлов, что забыл про ошибку 404 в выдаче. Как правильно организовать 301 редирект? Очень надеюсь на вашу помощь. Спасибо.