Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по mod_rewrite

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: переменные:(
Twist
Отправлено: 21 Мая, 2010 - 17:04:34
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




Здрасти) Вот не могу понять одну вещь в mod_rewrite... Допустим, что нам надо чтоб ссылка типа http://test1.ru/1111 менялась на http://test1.ru/index.php?1111 У меня это вроде получается с помощью такой записи в .htaccess
RewriteEngine on
RewriteRule ^1111 index.php?1111

И всё норм пашет. Но беда в том, что надо чтоб работало не только с 1111, но и с другими комбинациями(2222, 3333, 1635 и т.д.), но когда я записываю в .htaccess
RewriteEngine on
RewriteRule ^(.*)$ index.php?$1

То ничего не получается Огорчение
Смотрю $_SERVER['QUERY_STRING'] и в первом варианте выдаёт нормально 1111, а во втором index.php
Где же я допустил ошибку?((
 
 Top
CodeWarrior
Отправлено: 21 Мая, 2010 - 19:16:55
Post Id



Частый гость


Покинул форум
Сообщений всего: 157
Дата рег-ции: Янв. 2009  
Откуда: Албания


Помог: 0 раз(а)




Это htaccess от движка LiveStreet
CODE (text):
скопировать код в буфер обмена
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteRule ^(.*)$ ./index.php

Получаем на выходе урл вида:
http://domain[dot]ru/action
а фактически
http://domain[dot]ru/index.php/action

Думайте сами как применить под свои нужды

(Отредактировано автором: 21 Мая, 2010 - 19:18:13)

 
 Top
Twist
Отправлено: 21 Мая, 2010 - 20:41:30
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




Всё равно ничего не получается(( Уже пол дня на это убил(( Максимум, что получилось - чтоб запрос типа http://test1.tu/aaa - где aaa - любое значение, перенаправлялся на http://test1.tu/bbb - где b]aaa[/b] - уже существующая папка. И вот поставленую цель всё равно не получается(((
 
 Top
Zend
Отправлено: 21 Мая, 2010 - 22:53:36
Post Id


Гость


Покинул форум
Сообщений всего: 126
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Не разбираюсь в этом, для своих нужд помог этот сервис - http://pr-cy[dot]ru/rewrite_mod
 
 Top
Twist
Отправлено: 22 Мая, 2010 - 00:14:43
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




Zend, спасибо, но, к сожалению, мне тот сервис не помогНедовольство, огорчение

Я вот не могу одного понять, почему при записси:
RewriteEngine on
RewriteRule ^(.*) index.php?$1

Мне выдаёт значение $_SERVER['QUERY_STRING'] как index.php при том, что запрос http://test1.ru/xxx - где xxx - любой набор символов. Как это??

Еще похожий такой вариант:
RewriteEngine on
RewriteRule ^(.*) index.php?a=$1

И тогда при запросе как в предыдущем варианте, переменная a всегда будет равна index.php
Как это? Я ведь в адресной строке не передаю index.php Однако Я подумал, что это из-за DirectoryIndex index.php но даже когда убрал єту строку, то ничего не изменилосьНедовольство, огорчение
 
 Top
JustUserR
Отправлено: 22 Мая, 2010 - 12:55:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Twist пишет:
Мне выдаёт значение $_SERVER['QUERY_STRING'] как index.php при том, что запрос http://test1[dot]ru/xxx - где xxx - любой набор символов. Как это??
Переменная QUERY_STRING передает строку запроса от пользователя которая идет в зашифрованном urlecnoded-виде в HTTP-запросе от ключевого слова GET до ключевого слова HTTP/1.1 Если же Apache получает некоторый URL-путь и согласно директивам .htaccess определенная часть этогопути оказывается CGI-скриптом - то остаток пути передается в другой переменной окружения с названием PATH_INFO


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB