Включение файла с параметрами.

Slam

Новичок
jonjonson, так оно так и есть:
.htaccess
Код:
RewriteEngine on
Options +FollowSymLinks
RewriteBase /
RewriteRule ^(.*)/index.php$ _forbidden.php
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php [L]
А index.php анализирует запросы и инклюдит соответствующие скрипты.
PHP:
if (isset($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI'] != '')
{
     $nav = new Framework_Navigate();
     $parse_url = $nav->parse_url ($_SERVER['REQUEST_URI']);
     include_once($parse_url);
}
$parse_url - возвращает строку типа '/cat/lang=ru&id=2......'
Теперь прийдется направлять все данные в $_GET переменные.

-~{}~ 21.03.07 11:40:

iceman, я бы сказал, что это просто заклинило. Вот и спрашивал идеи.
 

Slam

Новичок
Фанат, когда хотел делать просто через mod_rewrite, говорили, что зачем, лучше переправляй все на index и парсь там.

А теперь уже туписзм.

-~{}~ 21.03.07 12:27:

Как лучше делать в таком случае?
 

Фанат

oncle terrible
Команда форума
тупизм, мальчик мой, не в мод реврайте. и не в индексе.
а в голове.

-~{}~ 21.03.07 12:28:

parse_str()
 

Slam

Новичок
Фанат
Мне так посоветовали на форуме.
И строку я разбиваю на куски корректно.
 

maxru

МИФИст
Так.... Slam, я так и не понял, тебе надо ПРОИНКЛЮДИТЬ скрипт или РЕЗУЛЬТАТ его выполнения с некими параметрами?
 

romy4

invoke [brain]
напиши в файле функцию, инклудь файл и вызывай себе эту функцию.
 

Slam

Новичок
maxru, нужен РЕЗУЛЬТАТ его выполнения с некими параметрами.

-~{}~ 22.03.07 13:38:

Я сделал следующим образом: строка для включение выглядит приблизительно так 'include=cat&lang='.$language.'&cat='.$cat_id.'&parent_cat='.$parent_id;
И при разборе строки для включения файла, елементы отправляю в массив $_GET[]. Далее делаю include(_CFG_PATH_SITE_WWW . '/'.$include.'/index.php');

А в нем уже идет работа с $_GET массивом.

PHP:
if (isset($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI'] != '')
{
    $nav = new Framework_Navigate();
    $url = $nav->get_url($_SERVER['REQUEST_URI']);
    parse_str($url, $GLOBALS['_GET']);
    
    $nav->get_url($_SERVER['REQUEST_URI']);
    parse_str($url);
    
    include(_CFG_PATH_SITE_WWW . '/'.$include.'/index.php');
    
}
 

romy4

invoke [brain]
если же не включен ALLOW_URL_FOPEN то воспользуйся сокетами
 

bkonst

.. хочется странного?...
Ну да, конечно, чтобы увеличить нагрузку на сервер раза в два. Не говоря уж о куках и данных, переданных методом POST.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Думаю, приведенный алгоритм - простой информационный мусор, шанса работать у него нет.

Единственное, что можно посоветовать - удалить весь код, перечитать первые несколько разделов мануала по PHP (не учебник!) и переписать нормально ...
 

Фанат

oncle terrible
Команда форума
блин, я тормоз.
забыл про QSA
этот модификатор в правилах снимет первый вопрос в этом топике

-~{}~ 23.03.07 13:59:

romy4
Скажи, ты дураком родился, или уже в процессе поглупел?
 

Slam

Новичок
grigori, данный код полностью работоспособен! И к тому же писать правильно - это как в твоем понимании?

-~{}~ 23.03.07 15:44:

Фанат, вообще-то вопрос был про отработку скрипта с параметрами, а не как прилепить строку запроса или как ее обработать.

И если использовать QSA
RewriteRule ^(.*)$ index.php [L,QSA]
запрос будет передан в переменную,

В моем случае я получаю тоже самое и без QSA.
 

Фанат

oncle terrible
Команда форума
вообще-то вопрос был про отработку скрипта с параметрами
вообще-то, вопрос отработки скрипта с параметрами не имеет смысла.
Я так надеялся, что это до тебя уже дошло.

В моем случае я получаю тоже самое и без QSA.
Наоборот.
Это в случае с QSA ты получаешь то же самое БЕЗ своих собственных случаев.
 
Сверху