Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mod_rewrite почему такой результат? 
:(
    Опции темы
maxipub
  Дата 12.7.2011, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



.htaccess:

Код

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?var=$1


index.php:

Код

<?php var_dump($_GET['var']); ?>


запрос:

http://localhost/blablabla.php?bla=bla

результат:

Код

string(13) "blablabla.php"


почему не:

"blablabla.php?bla=bla"

??? smile 
PM MAIL   Вверх
Absinthe
Дата 13.7.2011, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 4.5.2011

Репутация: 5
Всего: 11



Код

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

PM MAIL   Вверх
skyboy
Дата 13.7.2011, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



потому что QSA
PM MAIL   Вверх
srt
Дата 13.7.2011, 02:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 13.5.2008

Репутация: нет
Всего: 1



RewriteRule ^(.*)$ index.php/$1 [L,QSA]
PM MAIL   Вверх
maxipub
Дата 13.7.2011, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



.htaccess:

Код

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?var=$1 [L,QSA]


результат тот же smile 
PM MAIL   Вверх
ayax2005
Дата 13.7.2011, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



%{QUERY_STRING} ???


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
skyboy
Дата 13.7.2011, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



сорри, просмотрел РНР код.
надо так:
Код

<?php 
var_dump($_GET['var']); 
var_dump($_GET['bla']); 
?>


Добавлено @ 11:55
а не "blablabla.php?bla=bla" потому что в результате mod_rewrite эти все "$1" не начинают обрабатывать query-часть по-особенному. парсятся параметры по-прежнему:
Цитата

blablabla.php?bla=bla => Array('bla' => 'bla')
index.php?var=blablabla.php&bla=bla => Array('var' => 'blablabla.php', 'bla' => 'bla')

PM MAIL   Вверх
Absinthe
Дата 13.7.2011, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 4.5.2011

Репутация: 5
Всего: 11



maxipub, читай внимательно ответы.
Решение тебе уже дали.
PM MAIL   Вверх
maxipub
Дата 18.7.2011, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Ээ... ребята, по-моему, мы друг друга немного не поняли.

Мне не надо чтоб строка запроса дописывалась к условию. Мне надо чтоб все, что после корневого слэша, передавалось переменной:

localhost/***
$var = "***";

localhost/blablabla.php?bla=bla
$var = "blablabla.php?bla=bla";

И т.д. Как такое сделать?

Это сообщение отредактировал(а) maxipub - 18.7.2011, 12:02
PM MAIL   Вверх
ayax2005
Дата 18.7.2011, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



А при чём тут htacсess? Вы про $_SERVER слышали?


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
maxipub
Дата 18.7.2011, 12:53 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



ayax2005, ну я временно так и сделал. Но это не очень красиво, ИМХО. Надо бы все сделать через .htaccess, по-человечески. Ведь без рерайта урлов тут все равно не обойтись, т.к. надо посылать обработку всех запросов на один скрипт.
PM MAIL   Вверх
skyboy
Дата 18.7.2011, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



вот получил бі после реврайта РНР такой запрос: 
Код

localhost/index.php?var=blablabla.php?bla=bla

следуя твоей логике.
как ему понять, что вопреки спецификации надо обработать "?bla=bla" просто как строку? smile
URL rewriting должен работать и работает прозрачно для РНР. все, что можно узнать об "исходном" URL - в некоторых полях $_SERVER. и всё.
PM MAIL   Вверх
maxipub
Дата 18.7.2011, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



skyboy, ok
PM MAIL   Вверх
Sanchezzz
Дата 18.7.2011, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



если на сайте задействован реврайт то появляется перемененная $_SERVER["REAL_FILE_PATH"];    если нет то ее нет.

if(!empty($_SERVER["REAL_FILE_PATH"]))    $url = $_SERVER["REAL_FILE_PATH"];    


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
skyboy
Дата 21.7.2011, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Sanchezzz @  18.7.2011,  22:45 Найти цитируемый пост)
$_SERVER["REAL_FILE_PATH"];

ты что-то путаешь.
в $_ENV - SCRIPT_URL и SCRIPT_URI, в $_SERVER  - REQUEST_URI
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1583 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.