Я только что переключил свой сервер с apache2 на nginx, и теперь у меня возникли проблемы с перезаписью .htaccess.
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Я понял, что для того, чтобы эта работа работала на Nginx, мне нужно будет отредактировать блок сервера Nginx. Сможет ли кто-нибудь сказать мне, как? Заранее большое спасибо.
Вы можете сделать что-то подобное с помощью try_files:
location (.*) {
try_files $uri $uri/ /index.php;
}
иначе вы можете использовать конвертер .htaccess в nginx http://winginx.com/en/htaccess, но поскольку это автоматизированный процесс, он не будет оптимизирован:
location / {
rewrite ^/(.*)/$ /$1 redirect;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
}