Назад | Перейти на главную страницу

преобразовать .htaccess в nginx

Это снова я :( Я пытался установить siwapp на свой веб-сервер, но не смог заставить его работать с nginx, вот содержимое файла .htaccess:

RewriteCond %{REQUEST_FILENAME} !index.php
RewriteRule (.*)\.php$ index.php/$1


RewriteCond $1 !^(index\.php|nhototamsu|assets|cache|xd_receiver\.html|photo|ipanel|automap|xajax_js|files|robots\.txt|favicon\.ico|ione\.ico|(.*)\.xml|ror\.xml|tool|google6afb981101589049\.html|googlec0d38cf2adbc25bc\.html|widget|iradio_admin|services|wsdl)

RewriteRule ^(.*)$ index.php/$1 [QSA,L]

Когда я получаю доступ http://myurl.com/tin-tuc/tuyen-sinh/tu-van/2012/04/25757-phan-van-qua-giua-khoi-a1-va-khoi-a.html , nginx мог правильно отображать страницу, в нем говорилось: «404 Not Found» (новый URL: http://myurl.com/tin-tuc/tuyen-sinh/tu-van/2012/04/25757-phan-van-qua-giua-khoi-a1-va-khoi-a.html)

Мне кажется, это довольно стандартный конфиг ...

location / {
    try_files $uri $uri/ @rewrite;
}
location @rewrite {
    rewrite ^/(.*)$ /index.php/$1;
}
location ~ \.php$ {
    try_files $uri $uri/ /index.php?$args;
    include fastcgi_params;
    fastcgi_pass localhost:9000;
}

это интернет сайт инструмент мне очень помог

Пожалуйста, соберите некоторое представление о том, как работает перезапись, из вики nginx Вот. Поверьте мне, это всегда хорошая идея

Могу привести реальный пример.

Apache's .htaccess:

Rewriterule ^(articulos)/([0-9]+)/([a-zA-Z0-9_-]+)$ index.php?modules=full_post&id=$2 [NC,L,QSA]

Эквивалент Nginx:

location / {
    try_files $uri $uri/ @rewrite;
}
location @rewrite {
    # Dinamic Links
    rewrite ^/(articulos)/([0-9]+)/([a-zA-Z0-9_-]+)$ /index.php?modules=full_post&id=$2;
}

Я надеюсь, это поможет вам!