Apache .htaccess重写规则转Nginx配置咨询
Apache .htaccess重写规则转Nginx配置咨询
嗨,这就帮你把Apache的这条重写规则转成Nginx能用的配置!
先拆解下原来Apache规则的作用:RewriteRule ^add_item?$ produits.php [NC,L] 是说,当用户访问的URL是add_item或者带尾斜杠的add_item/时,服务器内部会把请求转发到produits.php处理;NC表示忽略URL的大小写,L表示这是最后一条规则,匹配到后就停止后续的重写处理。
对应的Nginx配置可以这么写,把这段放在你的server块里面就行:
# 匹配add_item或add_item/,忽略大小写 location ~* ^/add_item/?$ { # 重写到produits.php,last对应原规则的L标记,停止当前规则处理 rewrite ^/add_item/?$ /produits.php last; }
另外要注意,得确保你的Nginx配置里已经有处理PHP文件的规则,比如类似下面这样的配置(根据你的PHP版本和实际路径调整),不然重写后的produits.php没法被正确解析:
location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; # 这里的路径要对应你的PHP-FPM套接字 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
把这两部分配置调整好后,重启Nginx就生效啦!
备注:内容来源于stack exchange,提问作者Montassar Billeh Hazgui
相关产品推荐
相关产品推荐

