| Nginx-ru mailing list archive (nginx-ru@sysoev.ru) [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 mod_rewrite
 
 Здравствуйте! 
 Хочу переписать стандартный апачевский вариант:  RewriteEngine on  RewriteBase /  RewriteCond %{REQUEST_FILENAME} !-f  RewriteRule ^(.*)$ index.php?$1 [L] 
 Чтобы mode_rewrite отрабатывал на nginx 
 Ставлю: location / {  if (!-e $request_filename){    rewrite  ^(.*)$  /index.php?$1  break;  }  .... } 
 Все ок, идет редирект на основной скрипт. Потом выясняется, что если запросить файл domain/panel.php, то он его не видит. 
 Пришлсь переписать для частного случая конфиг на такой: if (!-e $request_filename){   rewrite  ^(?!\/panel\.php)(.*)$  /index.php?$1  break; } 
 Но это не выход из положения. В вирутальном хосте могут быть и другие файлы исполняемые 
 Помимо этого есть проблемка с логами: - при реврайте через апач, когда приходит реквест, например, /p1/index.html, в логах мы его и видим. - при реврайте через nginx в логах мы видим такую запись: /index.php?/p1/index.html 
 Для awstat такой вариант убивает всю красоту напрочь. 
 Подскажите, как можно грамотно решить данные вопросы? 
 С уважением, Моженков Евгений 
 |