Dismiss Notice
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Смена адресов страниц

Discussion in 'Аудиты сайтов - оценка функционала, юзабилити' started by Sergey24, Mar 8, 2016.

08.03.16 в 20:19
09.03.16 в 11:35
3
3,169
0
  1. TopicStarter Overlay
    Sergey24

    Sergey24 Новичок

    Joined:
    Nov 8, 2015
    Messages:
    39
    Best Answers:
    0
    Ratings:
    +1 / 0 / -0
    Здравствуйте! Как наиболее правильно перебраться с адресов типа site.ru/films.php?f=10324 на site.ru/films/10324.html . В файле .htaccess настроил:
    RewriteEngine On
    RewriteRule ^films/([^/]*)\.html$ /films.php?f=$1 [L] .
    Еще наверное обычное перенаправление на странице films.php сделать?
     
  2. TopicStarter Overlay
    Sergey24

    Sergey24 Новичок

    Joined:
    Nov 8, 2015
    Messages:
    39
    Best Answers:
    0
    Ratings:
    +1 / 0 / -0
    Подскажите, пожалуйста, регулярное выражение для редиректа в .htaccess: Redirect 301 /films.php?f=16 http://site.ru/films/16.html
    Чтобы не прописывать сотни одинаковых строк с разным параметром f.
     
  3. Ботяра

    Забанен

    Joined:
    Oct 10, 2015
    Messages:
    0
    Best Answers:
    54
    Ratings:
    +711 / 74 / -0
    Тестить негде, но по манам должен помочь такой код:
    Code:
    RewriteRule ^(.*)/films.php?f=(.*)$ $1/films/$2.html [R=301,L]
    Ну и естественно что этот код должен стоять после
    Code:
    RewriteEngine On
    :)
     
  4. TopicStarter Overlay
    Sergey24

    Sergey24 Новичок

    Joined:
    Nov 8, 2015
    Messages:
    39
    Best Answers:
    0
    Ratings:
    +1 / 0 / -0
    Спасибо! Разобрался. Вот рабочий код:

    # адрес к виду .html films
    RewriteEngine On
    RewriteRule ^films/([^/]*)\.html$ /films.php?f=$1 [L] // Это я так понял просто преобразование динамических url в статические
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /films\.php\?f=([^&]+)\ HTTP/ // а это уже редирект с динамических на статические.. чтобы поисковики правильно поняли, где настоящий адрес
    RewriteRule ^films\.php$ http://site.ru/films/%1.html? [R=301,L]
     
Яндекс.Метрика