Я только что делал подобное. У меня взлетело всё вот так.<br>Работает и clear url и ?q=<br><br><br> server {<br> include listen.conf;<br> server_name <a href="http://mastershar.com">mastershar.com</a> <a href="http://www.mastershar.com">www.mastershar.com</a> <a href="http://karnaval.skitalets.ru">karnaval.skitalets.ru</a>;<br>
error_log /home/slava-k/www/karnaval/logs/nginx-error.log;<br> access_log /home/slava-k/www/karnaval/logs/nginx-access.log;<br> set $root /home/slava-k/www/karnaval/html;<br> root $root;<br>
ssi on;<br><br><br> location /drupal { ## Try to serve file, then try to serve as clear URL<br> try_files $uri @drupal;<br> }<br> location @drupal { ## Clear URL<br> rewrite ^/drupal/(.*)$ /drupal/index.php?q=$1 last;<br>
}<br><br> location ~ \.php$ { ## FastCGI handler<br> fastcgi_pass <a href="http://127.0.0.1:9000">127.0.0.1:9000</a>;<br> fastcgi_index index.php;<br> fastcgi_param SCRIPT_FILENAME $root$fastcgi_script_name;<br>
fastcgi_param SCRIPT_NAME $fastcgi_script_name;<br> fastcgi_param QUERY_STRING $args;<br> include fastcgi_params;<br> }<br><br> }<br><br><br><br><div class="gmail_quote">
3 февраля 2010 г. 10:56 пользователь Sergiy Kukunin <span dir="ltr"><<a href="mailto:sergey.kukunin@gmail.com">sergey.kukunin@gmail.com</a>></span> написал:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Я хочу, чтобы несуществующие .php файлы переходили на реврайт, а существующие - на исполнение<br><br><div class="gmail_quote">3 февраля 2010 г. 3:10 пользователь Daniel Podolsky <span dir="ltr"><<a href="mailto:onokonem@gmail.com" target="_blank">onokonem@gmail.com</a>></span> написал:<div>
<div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>> Заменяем location /drupal на location ~ /drupal ( делая из него регулярное<br>
> выражение ). Однако, с таким положением, хоть и реврайты срабатывают,<br>
> возвращается текст php. Т.е., после нахождения нужного location'а, и<br>
> применение rewrite'а, дальше поиск не идет.<br>
</div>Если Вы хотите, чтобы во второй локешн попали все php кроме тех, что<br>
начинаются с /drupal - можно так и написать<br>
^(?!/drupal).*\.php$<br>
<div><div></div><div>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
</div></div></blockquote></div></div></div><br>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Regards,<br>Slava<br>