要将Laravel应用程序在Nginx服务器上进行链接重写,您需要在Nginx配置文件中添加以下规则:
server {
listen 80;
server_name yourdomain.com;
root /path/to/laravel/public;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
error_log /var/log/nginx/laravel.error.log;
access_log /var/log/nginx/laravel.access.log;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
请确保将yourdomain.com
替换为您的域名,以及/path/to/laravel/public
替换为您Laravel应用程序的公共目录的实际路径。
保存并重新加载Nginx配置后,您的Laravel应用程序应该能够在Nginx服务器上成功重写。
可以加上这些,让链接更加优雅
# 去除末尾的斜杠,SEO更加友好
if (!-d $request_filename){
rewrite ^/(.+)/$ /$1 permanent;
}
# 去除index action
if ($request_uri ~* index/?$){
rewrite ^/(.*)/index/?$ /$1 permanent;
}
# 根据laravel规则进行url重写
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php?/$1 last;
break;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}