欢迎访问大师范文AI写作助手,如没有想要的内容请与本站万能的AI助手联系。

Nginx转Apache

分享 时间: 加入收藏 我要投稿 点赞


Nginx:
rewrite /tag/([a-z0-9]+)/$ /e/tags/itag.php?tagid=$1 last;
rewrite /tag/([a-z0-9]+)-([0-9]+).html$ /e/tags/itag.php?tagid=$1&page=$2 last;
rewrite ^/search-(.+?)-(.+?).html$ /e/search/result/index.php?page=$1&searchid=$2;



Nginx的rewrite规则转换为Apache,应该是这样的:

RewriteEngine On
RewriteRule ^tag/([a-z0-9]+)/$ /e/tags/itag.php?tagid=$1 [L]
RewriteRule ^tag/([a-z0-9]+)-([0-9]+).html$ /e/tags/itag.php?tagid=$1&page=$2 [L]
RewriteRule ^search-(.+?)-(.+?).html$ /e/search/result/index.php?page=$1&searchid=$2 [L]
 

说明:

  • ^ 表示匹配行首,/ 在此不需要转义;
  • $ 表示匹配行尾;
  • ([a-z-9]+) 匹配小写字母和数字,+ 表示至少出现一次;
    • 表示匹配中划线;
  • .* 匹配任意字符,+ 表示至少出现一次,? 表示非贪婪匹配;
  • (...) 表示一个匹配组,可以通过$1, $2等引用;
  • [L] 表示 Last,代表这个规则是最后一个规则,不再执行后续规则。

注意:

  • Apache的rewrite语法与Nginx不同,需要使用RewriteRule指令;
  • Apache的匹配规则必须加上^和$,因为默认情况下会匹配整个URL;
  • Apache没有last标志,可以用[L](拦截)替代;
  • Apache的匹配变量需要用符号引用,而Nginx则是以符号引用,而Nginx则是以为前缀,例如Nginx的$1,在Apache中应写成$1。

精选图文

221381
领取福利

微信扫码领取福利

Nginx转Apache

微信扫码分享