2012-04-18 3 views
2

В нижней части этого сообщения мое текущее правило nginx rewrite и по большей части оно работает так, как должно. Единственная проблема, с которой я, похоже, сталкиваюсь, приведена в примере ссылки, например example.com/?action=cmd, это действие обрабатывается как example.com/clientarea/?action=cmdnginx переписать правило с try_files

Я ищу для способа, которым когда? символ называется, что она автоматически добавит ее в example.com/index.php вместо/clientarea/

location =/{ 
    rewrite^/clientarea/ permanent; 
} 

location ~ ^(.*)$ { 
try_files $uri $uri/ /index.php?$1; 
} 

ответ

1

Если у вас есть последняя версия Nignx 1.0.x + (я думаю), это должно работать:

location =/{ 
    if ($is_args = '?') { 
     return 301 $scheme://$host/index.php$is_args$args; 
    } 
    rewrite^/clientarea/ permanent; 
} 

location ~ ^(.*)$ { 
    try_files $uri $uri/ /index.php?$1; 
} 
+0

Это сработало отлично! Благодаря! –

Смежные вопросы