Estou migrando do servidor Apache para o Nginx e tentando descobrir como substituir minha configuração .htaccess
with nginx.
Na minha reescrita, desejo ativar links bonitos e preciso que o servidor verifique se a primeira parte não é um arquivo, em seguida, redirecione para index.php
caso contrário, redirecione para esse arquivo.
Exemplo:
Eu tenho dois arquivos PHP no diretório raiz: index.php
e files.php
.
https://example.com/token/login ---> index.php/token/login
https://example.com/index.php/token/login ---> index.php/token/login //same as above
https://example.com/files.php/token/login ---> files.php/token/login
Meu arquivo atual / padrão é
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name vpn.simpleinformatics.com www.vpn.simpleinformatics.com;
return 301 https://$server_name$request_uri;
}
server {
# SSL configuration
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
include snippets/ssl-vpn.simpleinformatics.com.conf;
include snippets/ssl-params.conf;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name vpn.simpleinformatics.com;
location / {
# try_files $uri $uri/ =404;
# try_files $uri $uri/ /index.php;
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location ~ /.well-known {
allow all;
}
location /phpmyadmin {
auth_basic "Admin Login";
auth_basic_user_file /etc/nginx/pma_pass;
}
}
Isso redireciona todas as solicitações para index.php
, até files.php/etc..
requests: (.
Então, como eu posso dizer ao nginx para verificar se a primeira parte do URI é um arquivo, então faça o redirecionamento para esse arquivo.
Tags php nginx mod-rewrite ubuntu-16.04