2013-02-17 2 views
10

У меня есть следующий файл .htaccess для моего апача:Преобразование .htaccess в Nginx (mod_rewrite)

<IfModule mod_rewrite.c> 
 Options +FollowSymlinks  
# Options +SymLinksIfOwnerMatch 
 RewriteEngine On 
 RewriteBase/
 RewriteRule ^$          index.php       [L] 
 RewriteCond %{REQUEST_FILENAME}         !-f 
 RewriteCond %{REQUEST_FILENAME}         !-d 
 RewriteRule (.*)        index.php?page=$1  [QSA,L] 
</IfModule> 

Внезапно мне пришлось изменить свой веб-сервер для Nginx, и я не знаю почему, но mod rewrite не работает.

Я использовал онлайн «конвертер», чтобы преобразовать его, таким образом, я получил следующее:

location/{ 
    rewrite ^/$/  index.php  break; 
    if ($request_filename ~   !-f){ 
    rewrite ^(.*)$/  index.php?page=$1 break; 
    } 
} 

Не могли бы вы помочь мне, что случилось?

Спасибо заранее, Marcell

+4

Какой идиот это закрыто? Обновление правил перезаписи мод при переходе с Apache не nginx необходимо для большинства сайтов. – Sam

ответ

0

$ Sudo ВИМ/и т.д./Nginx/сайты-доступные/по умолчанию

location/{ 
     try_files $uri $uri/ =404; 
    } 

в

location/{ 
    try_files $uri $uri/ /index.php?$args; 
} 
Смежные вопросы