Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
tielv
V2EX  ›  Linux

求助:PHP+apache 的伪静态规则,转换成 nginx 适用的

  •  
  •   tielv · Feb 27, 2014 · 4868 views
    This topic created in 4640 days ago, the information mentioned may be changed or developed.
    RewriteEngine on
    RewriteCond $1 !^(index\.php|templates|upload|images|js|css|cache|plugins|spec|favicon\.ico|robots\.txt|phpmyadmin)
    RewriteRule ^(.*)$ /index.php/$1 [L]


    搞了很久了都没搞定,求助……
    6 replies  •  2017-04-21 13:38:05 +08:00
    tielv
    tielv
    OP
    Feb 27, 2014
    1
    PHP+apache的伪静态规则如下:
    RewriteEngine on
    RewriteCond $1 !^(index\.php|templates|upload|images|js|css|cache|plugins|spec|favicon\.ico|robots\.txt|phpmyadmin)
    RewriteRule ^(.*)$ /index.php/$1 [L]
    konakona
    konakona
    Feb 27, 2014
    2
    在我的博客搜 nginx 可以找到答案!
    www.crazyppher.com
    我现在太卡le !只能帮你到这!
    tielv
    tielv
    OP
    Feb 27, 2014
    3
    www.crazyppher.com
    进不去呀
    tielv
    tielv
    OP
    Feb 27, 2014
    4
    是crazyphper.com吧?
    wolftankk
    wolftankk
    Mar 1, 2014
    5
    如果你的地址都是类似于这样 http://www.example.com/login
    这样的话可以这么写

    location .*.php {
    if (!- e $request_filename) {
    rewrite ^(.*)$ /index.php/$1 break;
    }
    }
    zhangzilong
    zhangzilong
    Apr 21, 2017
    6
    if ($1 !~ "^(index\.php|templates|upload|images|js|css|cache|plugins|spec|favicon\.ico|robots\.txt|phpmyadmin)"){
    set $rule_0 1$rule_0;
    }
    if ($rule_0 = "1"){
    rewrite ^/(.*)$ /index.php/$1 last;
    }

    推荐一个 将 apache 重写规则在线转为 nginx 重写规则的工具:
    http://www.51ask.org/apache2nginx/
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4058 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 05:48 · PVG 13:48 · LAX 21:48 · JFK 00:48
    ♥ Do have faith in what you're doing.