Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Изменен ЧПУ. Правильный редирект. IPB 3.4.6

Доброго дня всем.

Дурная голова (рукам) ногам покоя не дает...

Решил поменять немножко вид ссылок.

Было:

сайт/topic/104-tema/ стало /topic104/

сайт/forum/12-forum/ стало /forum12/

Так увлекся сменой урлов, что забыл про ошибку 404 в выдаче. Как правильно организовать 301 редирект? Очень надеюсь на вашу помощь. Спасибо.

Рекомендованные сообщения

Добавить после RewriteEngine On

 

RewriteRule ^(topic|forum)/(\d+)-[^/]+/(.*) /$1$2/$3 [R=301,L]

  • Автор

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>

 

Все. Заработало. Спасибо огромное!

Изменено пользователем salex

Пардон, пропустил имя директивы. В данном случае можно даже добавить после RewriteBase

  • Автор

топики заработали, а форумы нет.

 

З.Ы. Посмотрел, что еще в индексе несколько есть старых ссылок в виде

сайт/f12/

а сейчас /forum12/

Почистите кеш браузера. Если работают темы то должны работать и форумы. Собственно я вижу что редирект у форумов есть.

  • Автор

Да. Со старых редирект есть. Это просто гугл уж такой быстрый, что пока я правил ЧПУ и напортачил вместо /topic/ - оставил /t/, а /forum/ - /f/ думал так еще уменьшить длину урл. Назад вернул, а гугл уже проиндексировал. И сейчас в индексе у гугла

сайт/t104/

сайт/f12/

В яндексе все нормально. Он даже и не узнал, что я что-то менял)) Там редирект отрабатывает сейчас на все 100%.

Там же ниже добавить

 

RewriteRule ^t(\d+)/(.*) /topic$1/$2 [R=301,L]

RewriteRule ^f(\d+)/(.*) /forum$1/$2 [R=301,L]

  • Автор

Все. Все отлично теперь. Большое спасибо за помощь!

  • 1 год спустя...
  • Автор

Еще один вопрос по редиректу, если можно)

Как правильно перенаправить к примеру с topic/page12/ на topic/?page=12

RewriteRule ^topic/page(\d+)/ /topic/?page=$1

  • Автор

что-то не выходит..

<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>

Изменено пользователем salex

  • Автор

Не правильно я спросил...

Если topic12/page12/

Так не правильно?

RewriteRule ^topic(\d+)/page(\d+)/ /topic$1/?page=$1 [R=301,L] 

Изменено пользователем salex

RewriteRule ^topic(\d+)/page(\d+)/ /topic$1/?page=$2 [R=301,L]

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.