Как я могу перенаправить все каталоги в корень, используя переменные PATH в Nginx (переход с Apache)? - PullRequest
0 голосов
/ 18 января 2012

Я запускаю следующее в Apache.Наш ИТ-специалист порекомендовал Nginx поверх Apache для оптимизации веб-трафика.Но modrewrite не работает таким же образом на Nginx.

По сути, я заинтересован в преобразовании всей информации после переменных tld в path: Итак, domain.com/abc/def/ перенаправляет на domain.com/index.php / abc / def /

Можете ли вы помочь мне сделать это в Nginx?Следующее позволяет это в Apache.

<IfModule mod_rewrite.c>
    Options +FollowSymLinks -MultiViews
    RewriteEngine On
    # The following redirects all directories to root using PATH variables
    # Ex. /abc/def/ redirects to /index.php/abc/def/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) index.php/$1 [L]
</IfModule>

Спасибо.

Ответы [ 2 ]

1 голос
/ 18 января 2012

Лучший способ добиться этого:

server {
    try_files $uri $uri/ /index.php/$uri;

    ....

Вы можете прочитать больше об этой директиве здесь - http://wiki.nginx.org/HttpCoreModule

0 голосов
/ 18 января 2012

Попробуйте поместить это в свой location / { } блок в своем server { } блоке:

if (!-e $request_filename) { 
    rewrite ^(.*)$ /index.php$1 last;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...