在 LNMP(Linux, Nginx, MySQL, PHP)环境下添加 Discuz X2.5 的伪静态规则,可以通过修改 Nginx 配置文件来实现,以下是具体步骤:
1、备份 Nginx 配置文件:
在进行任何修改之前,建议先备份当前的 Nginx 配置文件,以防出现问题时可以恢复。
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
2、编辑 Nginx 配置文件:
打开 Nginx 配置文件进行编辑,通常这个文件位于/etc/nginx/nginx.conf
或/etc/nginx/sites-available/default
。
sudo nano /etc/nginx/sites-available/default
3、添加伪静态规则:
在 server 块中添加以下内容,以支持 Discuz X2.5 的伪静态规则。
server { listen 80; server_name yourdomain.com; root /path/to/discuz; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 确保路径与实际使用的 PHP-FPM 版本一致 fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } location ~ /\.ht { deny all; } }
请确保将yourdomain.com
替换为你的域名,并将/path/to/discuz
替换为 Discuz X2.5 的实际安装路径,确认fastcgi_pass
指向正确的 PHP-FPM socket 文件。
4、测试 Nginx 配置:
在保存并关闭编辑器后,测试 Nginx 配置文件是否有语法错误。
sudo nginx -t
如果输出显示syntax is ok
和test is successful
,则表示配置文件没有语法错误。
5、重新加载 Nginx:
重新加载 Nginx 服务以应用新的配置。
sudo systemctl reload nginx
完成以上步骤后,Discuz X2.5 应该能够正确处理伪静态 URL,如果遇到问题,可以查看 Nginx 的错误日志以获取更多信息。