За последние 24 часа нас посетили 17713 программистов и 1658 роботов. Сейчас ищут 952 программиста ...

После ModRewrite не пашет $_SERVER['PHP_SELF']

Тема в разделе "Прочие вопросы по PHP", создана пользователем artuska, 6 авг 2007.

  1. artuska

    artuska Активный пользователь

    С нами с:
    6 авг 2007
    Сообщения:
    61
    Симпатии:
    0
    Адрес:
    Riga, Latvia
    Значит так, обычный мод_реврайт для ЧПУ:
    PHP:
    1. RewriteEngine On
    2. RewriteBase /
    3. AcceptPathInfo On
    4. RewriteRule ^(lv|en|ru)/(.*) /$1.php/$2
    Код в .htaccess'е заменяет в УРЛ'е /ru/ на ru.php и так далее (Естественно, в адресной строке остается красивенький УРЛ, типа www.somesite.lv/ru/shop/computers).

    Все прекрасно работает, очень рад за МодРеврайт, ура!

    НО!
    Как только мне нужна ПХП_СЭЛФ происходит седующее:
    вместо такого ПХП_СЭЛФ'а
    /ru/shop/computers
    выводится
    /ru.php/shop/computers

    Кто-нить сталкивался? Как быть? Может это в httpd.conf'е надо какие-то настройки менять или в php.ini???
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    А что ты там хотел увидеть? PHP_SELF указывает на текущий скрипт, а не на URI, подделаный в mod_rewrite
     
  3. artuska

    artuska Активный пользователь

    С нами с:
    6 авг 2007
    Сообщения:
    61
    Симпатии:
    0
    Адрес:
    Riga, Latvia
    У меня в офисе выдается полноценный ПХП_СЭЛФ - /ru/shop/computers
    у меня дома на локалхосте - /ru.php/shop/computers

    Причем в офисе нет банальных замен типа
    Код (Text):
    1. $_SERVER['PHP_SELF'] = str_replace(".php","",$_SERVER['PHP_SELF'])
    Да, у меня Apache 2.0, PHP 5.2.2