Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: снова mod_rewrite
 
 автор: Hidden Demon   (07.06.2007 в 19:43)   письмо автору
 
 

полдня вожусь
нужно /contact/ok преобразовать в /contact.php?result=ok

правило написал такое:
RewriteRule ^(.*)contact/ok$ $1contact.php?result=ok [R]
не работает

причем следующие работают корректно
RewriteRule ^(.*)about$ $1page.php?code=about [R]
RewriteRule ^(.*)faq$ $1page.php?code=faq [R]
RewriteRule ^(.*)delivery$ $1page.php?code=delivery [R]

заранее спасибо и простите за детский вопрос

   
 
 автор: mr Bin   (07.06.2007 в 20:29)   письмо автору
 
   для: Hidden Demon   (07.06.2007 в 19:43)
 

Там где (.*) или $1 - это заканчивается слешем?

   
 
 автор: Hidden Demon   (07.06.2007 в 20:38)   письмо автору
 
   для: mr Bin   (07.06.2007 в 20:29)
 

(.*) подразумевает адрес, т.е. заканчивается слешем
пример: http://site.loc/contact/ok
должно быть http://site.loc/contact.php?result=ok
но чота мне кажется, что это не принципиально т.к. :

" . Любой одиночный символ
* 0 или N из предшествующего текста (N > 0) "

хотя мало ли

   
 
 автор: Hidden Demon   (08.06.2007 в 15:31)   письмо автору
 
   для: Hidden Demon   (07.06.2007 в 19:43)
 

up

   
 
 автор: Hidden Demon   (11.06.2007 в 19:31)   письмо автору
 
   для: Hidden Demon   (07.06.2007 в 19:43)
 

up

   
 
 автор: mr Bin   (12.06.2007 в 09:01)   письмо автору
 
   для: Hidden Demon   (11.06.2007 в 19:31)
 

Попробуйте преобразовывая вместо "contact/ok" написать что-то другое, не связанное с "контактом", есть результаты?

   
 
 автор: Hidden Demon   (12.06.2007 в 14:49)   письмо автору
 
   для: Hidden Demon   (07.06.2007 в 19:43)
 

пошел другим путем
RewriteRule ^(.*)contact/(.*) $1contact.php/$2 [L]

а в contact.php

    $result = @$_GET['result'];
    if (empty($result))
    {
        $ar = explode('/',$_SERVER['REQUEST_URI']);
        $result = @$ar[2];
    }


тоже, кстати, довольно-таки красиво

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования