Re: работа с псевдодиректорией можно ли без rewrite?
Igor Sysoev
igor на sysoev.ru
Ср Апр 4 08:26:58 UTC 2012
On Wed, Apr 04, 2012 at 03:07:51AM -0400, ast-ross wrote:
> location ~ "^/\d{12}/(.*)$" {
> alias /var/www/vhost/$1;
> location ~ "^/\d{12}/(.*)\.php$" {
> fastcgi_pass backend;
> fastcgi_param HTTPS on;
> fastcgi_param SCRIPT_FILENAME
> $document_root$fastcgi_script_name;
> fastcgi_index index.php;
> include fastcgi_params;
> try_files $fastcgi_script_name = 404;
> }
> }
>
> при таком конфиге переменная
> $fastcgi_script_name будет иметь значение
> /876503948540/index.php
> соответственно SCRIPT_FILENAME будет иметь
> значение /var/www/vhost/876503948540/index.php
> и опять 404... можно сделать так:
>
> location ~ "^/\d{12}/(.*)$" {
> alias /var/www/vhost/$1;
> location ~ "^/\d{12}/(.+\.php)$" {
> fastcgi_pass backend;
> fastcgi_param HTTPS on;
> fastcgi_param SCRIPT_FILENAME $document_root$1;
> fastcgi_index index.php;
> include fastcgi_params;
> try_files $1 = 404;
> }
> }
> но как то это не красиво как мне
> кажется...
Увы, из букв А П Ж О нельзя сложить слово ВЕЧНОСТЬ.
Чтобы было красиво, нужно чтобы структура сайта была простая:
location /css/ {
location /js/ {
location /action/ {
Что касается ВЕЧНОСТИ, то сложить можно примерно так:
location ~ "^/\d{12}(?<NAME>/.*)$" {
alias /var/www/vhost$name;
location ~ \.php$ {
root /var/www/vhost;
try_files $name =404;
fastcgi_pass backend;
fastcgi_param HTTPS on;
fastcgi_param SCRIPT_FILENAME $document_root$name;
include fastcgi_params;
}
}
--
Igor Sysoev
Подробная информация о списке рассылки nginx-ru