А можно ли сделать двойной реврайт (для index.php и text.php)?

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем dandandan, 8 май 2009.

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

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    Сделал одинарный реврайт для
    сейчас появилась необходимость сделать в дополнение к предыдущему
    с обоих случаях значения id изменяются. Долго думал, так и не придумал как апач будет различать на какую страницу обратились.
     
  2. Haliff3007

    Haliff3007 Читатель

    Заблокирован
    Регистр.:
    17 мар 2007
    Сообщения:
    481
    Симпатии:
    196
    Код:
    RewriteRule ^text(/?)+$ /index.php?id=text [L]
    RewriteRule ^textik(/?)+$ /index.php?id=textik [L]
    
    Выводит как папку, с концем на слэше.
     
  3. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    в обоих случаях id=переменная. Т.е. вместо text и textik могут быть любые значения.
     
  4. andrnag

    andrnag

    Регистр.:
    26 мар 2008
    Сообщения:
    350
    Симпатии:
    124
    Можно создать файл карты, где перечислить все id возможные для одного из случаев (где меньше id, допустим text.php). Остальное лить на index.php.
    Одно но: карты нельзя настраивать через .htaccess только в httpd.conf. Если к нему есть доступ то курить RewriteMap вот здесь http://www.egoroff.spb.ru/portfolio/apache/.
    Иначе, лить все на одну index.php, а там брать подобный файл карты и по нему определять, нужно ли перенаправлять обработку к text.php
     
  5. tarantas

    tarantas Постоялец

    Регистр.:
    22 мар 2008
    Сообщения:
    75
    Симпатии:
    14
    RewriteCond %{REQUEST_URI} (/index.php|/text.php)
    RewriteCond %{QUERY_STRING} ^id\=([^&]*)$
    RewriteRule ^.*$ /%1? [R=301,L]
     
  6. andrnag

    andrnag

    Регистр.:
    26 мар 2008
    Сообщения:
    350
    Симпатии:
    124
    tarantas
    ИМХО %{REQUEST_URI} не будет (/index.php|/text.php). Т.к. задача преобразовать произвольный адрес к одному из этих двух скриптов.
     
Статус темы:
Закрыта.