2014-09-23 5 views
0

Я пытаюсь изменить конфигурацию на моем новом сервере Nginx, чтобы он соответствовал моим текущим настройкам Apache. На данный момент я использую этот файл .htaccess:Nginx переписать эквивалент apache rewrite

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*) index.php?url=$1 [L,QSA] 

Я нашел конвертер, который может «перевести» это в эквивалент Nginx. Я попытался следующим:

location/{ 
    if (!-e $request_filename){ 
    rewrite ^/(.*) /index.php?url=$1 break; 
    } 
    try_files $uri $uri/ =404; 
} 

Но когда я пытаюсь установить URL-адрес запрос, как этого http://domain.tld/something моего файл PHP получает вернулся и загружается и что не должно произойти.

Что я ожидаю случиться, когда URL как http://domain.tld/something вводится он получает лечение, как http://domain.tld/index.php?url=something

Может кто-нибудь сказать мне, что я делаю неправильно?

ответ

0

В отличие от Apache, nginx не выходит из готового к запуску PHP. Вам нужно настроить обработчик для работы с php-файлами, иначе nginx будет обслуживать их так же, как и любой обычный файл.

См: Nginx downloads php instead of running it

также: обзор NGINX documentation on using fast-cgi to run php.

+0

Hi Jon. Спасибо за ответ. Я получил загружающую часть скрипта. Я оказался ошибкой в ​​каком-то другом коде. Однако моя проблема с перезаписью все еще остается – madsobel

+0

@madsobel переписывание NGINX в порядке, вы очистили кеш браузера? –

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