За последние 24 часа нас посетили 18003 программиста и 1582 робота. Сейчас ищет 1301 программист ...

Почему apache2 вызывает php скрипт вместо директории?

Тема в разделе "Установка PHP", создана пользователем ballbezz, 13 июл 2012.

  1. ballbezz

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

    С нами с:
    13 июл 2012
    Сообщения:
    2
    Симпатии:
    0
    При организации механизма ЧПУ сделана настройка apache2 посредством .htaccess. При обращении к хосту с параметром в строке запроса вида: http://localhost/order/show/ вызывается скрипт show.php, а должен вызываться index.php с параметром show!
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Покажи htaccess
     
  3. ballbezz

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

    С нами с:
    13 июл 2012
    Сообщения:
    2
    Симпатии:
    0
    Код (Text):
    1.  
    2. <IfModule mod_rewrite.c>
    3.  RewriteEngine On
    4.  
    5.  RewriteCond %{REQUEST_FILENAME} !-f
    6.  RewriteCond %{REQUEST_FILENAME} !-l
    7.  RewriteCond %{REQUEST_FILENAME} !-d
    8.  RewriteCond %{REQUEST_FILENAME} !^/order/$
    9.  RewriteRule (.*) /order/index.php?$1 [L,QSA]
    10. </IfModule>
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Код (Text):
    1. RewriteEngine On
    2. RewriteCond %{REQUEST_FILENAME} !-f
    3. RewriteCond %{REQUEST_FILENAME} !-l
    4. RewriteCond %{REQUEST_FILENAME} !-d
    5. RewriteRule order/(.*) order/index.php?param=$1 [L,QSA]
    В папке order файл index.php:
    Код (PHP):
    1. <h2>order</h2>
    2. <div><?php
    3. var_dump($_REQUEST);
    4. ?></div>
    Если нужно передать не в папку order, то посл строка .htaccess
    Код (Text):
    1. RewriteRule order/(.*) index.php?param=$1 [L,QSA]