Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > mod_rewrite


Автор: Максим 15.3.2005, 18:43
Я впервые сталкиваюсь с mod_rewrite, поэтому не судите строго.

прописал правило в .htaccess :
Код
RewriteRule ^(.*)$ /index.php?REAL_URL=$1 [L] 


но при запросе http://www.site.lo/dir/subdir/?do=action mod_rewrite переобразует в http://www.site.lo/index.php?REAL_URL=dir/subdir/ забывая об GET

тогда пошел другим путем и прописал:
Код
RewriteRule ^([^\?]*)\??(.*)?$ /index.php?REAL_URL=$1&$2 [L] 

Всеравно глухо -- второй match получается пуст и опять получаю http://www.site.lo/index.php?REAL_URL=dir/subdir/

Где собака зарыта??

ЗЫ. http://httpd.apache.org/docs/mod/mod_rewrite.html уже прочитан.


Автор: Mal Hack 15.3.2005, 18:54
Код
RewriteRule ^(.+)?(\?.*)?$ /index.php?REAL_URL=$1&$2 [L] 

Автор: izOne 15.3.2005, 21:32
а зачем такие сложности?
Код

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [L,QSA]

пост получаем через $_POST, get - $_GET, дальше разьиение $_SERVER['REQUEST_URI']

Автор: Guest 17.3.2005, 15:56
izOne: спасибо, земляк.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)