apache使用重写去掉方法

Apache和Nginx下去掉index.php的URLWRITE(url重写)的方法

服务器技术 2020-06-18 15:11:42 33

导读

(1)apache使用.htaccess重写去掉index.php方法://保护系统路径的写法,在RewriteCond规则中写入开放的路径 RewriteEngineOn RewriteCond$1!^(index\.php|sitemap\.xml|robots\.txt|assets) RewriteRule^(.*)$/index.php/$1//不保护系统路……

(1)apache使用.htaccess重写去掉index.php方法:

//保护系统路径的写法,在RewriteCond规则中写入开放的路径

    RewriteEngine On
    RewriteCond $1 !^(index\.php|sitemap\.xml|robots \.txt|assets)
    RewriteRule ^(.*)$ /index.php/$1

//不保护系统路径的写法

    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/system.*
    RewriteRule ^(.*)$ index.php?/$1 [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php?/$1 [L]

(2)Nginx重写去掉index.php的方法:

在 location 路由规则里(当然可以根据具体的情况放在需要的地方)面加入类似如下两行代码:

rewrite ^/$ /index.php last;
rewrite ^/(?!index\.php|robots\.txt|static)(.*)$ /index.php/$1 last;
    
例如:

location / {
    ......
    #rewrite 去掉index.php规则如下:
    rewrite ^/$ /index.php last;
    rewrite ^/(?!index\.php|robots\.txt|static)(.*)$ /index.php/$1 last;
}


1253067 TFnetwork_cn