ЧПУ для отдельных страниц

Тема в разделе "PHP", создана пользователем UDAV, 22 мар 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. UDAV

    UDAV

    Регистр.:
    22 июн 2007
    Сообщения:
    776
    Симпатии:
    153
    Раскручивался сайт по конкретным урлам, поменялся движок сайта и теперь урлы изменились, можно ли оставить "вес раскрутки" старых страниц на новом движке?
    Есть страницы вида modules.php?name=Pages&page=1 (2, 3 и тд..)
    Можно сделать как-то через htaccess чтоб для, допустим, modules.php?name=Pages&page=2 был урл вида uslugi/montag ?
     
  2. pixelranger

    pixelranger

    Регистр.:
    24 июн 2006
    Сообщения:
    386
    Симпатии:
    117
    Нужно писать контроллер можно только сделать
    site.ru/pages/2
     
  3. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    мб нечто вроде

    RewriteEngine On
    RewriteRule ^uslugi/montag$ modules.php?name=Pages&page=2 [QSA,L]

    в .htaccess
     
    UDAV нравится это.
  4. Langley1

    Langley1 Прохожие

    да вы бредите... можно сделать вообще что угодно...
    Крокодил больше зеленый чем широкий (с)
    И пример рерайта дан выше.
     
  5. GrizliK

    GrizliK Создатель

    Регистр.:
    4 сен 2009
    Сообщения:
    47
    Симпатии:
    3
    Я думаю в вашем движке должна быть функция ЧПУ.
    Ну а если всё таки её нет - ну что ж: .htaccess ждет...:)
     
  6. pixelranger

    pixelranger

    Регистр.:
    24 июн 2006
    Сообщения:
    386
    Симпатии:
    117
    Ну так это для одной ссылки это правило. А тс,видимо хочет чтобы все его страницы так обрабатывались.
     
  7. UDAV

    UDAV

    Регистр.:
    22 июн 2007
    Сообщения:
    776
    Симпатии:
    153
    Ой, да я гляжу вы вообще не разбираетесь в этом.
    Эм.. подходит, но не совсем, а именно: ко всем ссылкам(путям) дописывается uslugi и из-за этого не стили, ни ссылки не работают как надо.
    RewriteBase / не исправляет ситуацию.
    Я вообще-то как-бы и спрашивал именно про htaccess :D
    Нет, мне нужно чтоб для конкретных страниц так было)
    -
    И еще такой вопрос... если заходить на страничку uslugi/montag браузеру (поисковым роботам) будет отправляться 200 ОК или 301 ?
     
  8. pixelranger

    pixelranger

    Регистр.:
    24 июн 2006
    Сообщения:
    386
    Симпатии:
    117
    Не разбираюсь?!
    Код:
    RewriteRule ^pages/([0-9]+)$ modules.php?name=Pages&page=$1
    Вот так будет обрабатываться
    site.ru/pages/2

    Код:
    RewriteRule ^uslugi/montag$ modules.php?name=Pages&page=2 [QSA,L]
    А это только для одной страницы, вручную придется каждую страницу тогда заносить в htaccess

    Чтобы в зависимости от ID страницы можно было использовать транслит - тут надо писать контроллер непосредственно в скрипте!
    А в htaccess добавлять, например
    Код:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
    И кто еще из нас не разбирается, может мы с вами на разных языках говорим?
     
  9. UDAV

    UDAV

    Регистр.:
    22 июн 2007
    Сообщения:
    776
    Симпатии:
    153
    Так мне это и нужно. Сделать ЧПУ для некоторых страничек.

    Объясняю зачем мне это нужно: сайт раскручивался по определенным урлам, после смены движка, все урлы поменялись, вот я и хочу для некоторых страничек (которые в раскрутке) сделать старые урлы :bc:
     
  10. UDAV

    UDAV

    Регистр.:
    22 июн 2007
    Сообщения:
    776
    Симпатии:
    153
    Кто поможет подправить код от phillip ?:bc:
     
Статус темы:
Закрыта.