Re: htaccess для nginx
Sergey Shepelev
temotor на gmail.com
Ср Апр 21 11:29:48 MSD 2010
2010/4/21 Rollex <nginx-forum at nginx.us>:
> Народ выручайте, бьюсь уже неделю не могу верно написать правила под nginx от htaccess
> Содержимое файла htaccess
>
> Options +FollowSymLinks
>
> RewriteEngine on
> RewriteBase /
>
> RewriteRule ^users/(.*)\.html$ user.php?user=$1&%{QUERY_STRING}
>
> RewriteRule ^PhotoSharing/({1})(.*)$ out.php?$1=$2&%{QUERY_STRING}
> RewriteRule ^ImageHosting/(.*)$ show.php?img=$1&%{QUERY_STRING}
>
> RewriteRule ^gallery/([0-9]+)-([^/]*)/(.*)$ gallery.php?gal=$1&img=$3
> RewriteRule ^viewimg/([0-9]+)-([^/]*)/(.*)$ gallery_body.php?gal=$1&img=$3
>
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,77263,77263#msg-77263
>
Шаблон для каждого из этих правил будет такой:
# отдельный location, чтоб на каждом запросе не выполнять несколько регекспов.
location /users {
# регекспы как в htaccess, только от ^/
# &%{QUERY_STRING} nginx добавляет сам, для этого ничего писать не надо
# в конце ставим last, чтобы сразу после реврайта nginx искал
подходящий локейшн
rewrite ^/users/(.*)\.html$ /user.php?user=$1 last;
}
Про gallery и viewimg чуть-чуть интереснее, там нет %{QUERY_STRING},
чтобы nginx автоматически её не добавлял, нужно в конце строки замены
поставить '?'.
location /gallery {
rewrite ^/gallery/([0-9]+)-([^/]*)/(.*)$ /gallery.php?gal=$1&img=$3? last;
}
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>
Подробная информация о списке рассылки nginx-ru