Как сделать url-ы страниц типа site.ru/index/?id=97

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем Tisa, 27 июн 2009.

Статус темы:
Закрыта.
  1. Tisa

    Tisa Постоялец

    Регистр.:
    19 мар 2007
    Сообщения:
    142
    Симпатии:
    140
    Имеется HTML версия одного сайта, который уже давно пропал из сети.
    Хочу снова выложить его в сеть, но проблема в том что все внутренние ссылки там типа:

    site.ru/index/?id=97
    site.ru/index/?id=98

    и т.д.

    По некоторым причинам именно такими они и должны остаться.
    Подскажите можно ли средствами PHP реализовать такой вызов?
    Т.е. параметр передается не скрипту а как-бы папке.

    Или подскажите как реализовать это средствами .htaccess, хотя PHP предпочтительнее т.к. у ГоуДадди иногда криво отрабатывается htaccess
     
  2. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    991
    Симпатии:
    267
    Не хватает данных. А сейчас html страницы у Вас какой вид имеют? (имя файла)
     
  3. Tisa

    Tisa Постоялец

    Регистр.:
    19 мар 2007
    Сообщения:
    142
    Симпатии:
    140
    Офлайн эксплорер привел их к типу @id=97, т.к. файловай система не позволяет использовать знак вопроса.

    Но это не принцииально, переименовать можно в любое имя (например id=97, или просто 97), мне важно отрабатывание адреса типа:

    /index/?id=97

    Добавлено через 2 минуты
    Т.е. интересует сама реализация.

    Было бы там /index/a.php?id=97 - не было бы проблем.
     
  4. Qwest-fx

    Qwest-fx Постоялец

    Регистр.:
    3 апр 2007
    Сообщения:
    131
    Симпатии:
    39
    Options +FollowSymLinks
    RewriteEngine on

    RewriteRule /index/?id=(.*) www/$1
     
  5. Tisa

    Tisa Постоялец

    Регистр.:
    19 мар 2007
    Сообщения:
    142
    Симпатии:
    140
    Добавил этот код в .htaccess
    Вызываю типа - site.ru/index/?node_id=313

    На денвере получаю чистую страницу, на Годадди:

    Что делаю не так?
     
  6. NightBlade

    NightBlade Создатель

    Регистр.:
    2 авг 2007
    Сообщения:
    30
    Симпатии:
    5
    Тут идет просто передача переменной id индексному файлу, который находится в папке index, но имя файла опущено. Т.е. полный урл site.ru/index/index.php?id=123 (к примеру взял index.php). Что равносильно, как вы говорили "Было бы там /index/a.php?id=97 - не было бы проблем".
     
    Tisa нравится это.
  7. andrnag

    andrnag

    Регистр.:
    26 мар 2008
    Сообщения:
    350
    Симпатии:
    125
    Я так понимаю все скачанные файлы лежат в одной папке? Тогда так:

    Код:
    Options +FollowSymLinks
    RewriteEngine on
    RewriteBase /
    RewriteRule index/?id=(.*) papka_s_filami/@id=$1 [L]
     
    Tisa нравится это.
  8. Tisa

    Tisa Постоялец

    Регистр.:
    19 мар 2007
    Сообщения:
    142
    Симпатии:
    140
    Это помогло.
    Работает пока кривовато, но это уже вопрос техники довести до ума index.php.

    Спасибо всем.
    Тему можно закрывать.
     
  9. andrnag

    andrnag

    Регистр.:
    26 мар 2008
    Сообщения:
    350
    Симпатии:
    125
    А зачем вообще доводить до ума index.php? При такой схеме он вообще не нужен, как я понимаю.
    Запрос ведь преобразуется так, чтобы запраивать статичный файл из каталога, который был закачан через OfflineExplorer.

    Или я чего-то недопонимаю?
     
Статус темы:
Закрыта.