• thinkphp在apache、nginx和iis下的URL重写


    apache

    <IfModule mod_rewrite.c>
      Options +FollowSymlinks -Multiviews
      RewriteEngine On
    
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      # RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
      # 下面是正确的
      RewriteRule ^(.)$ index.php?/$1 [QSA,PT,L]
    IfModule>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    iis

    <rewrite>
     <rules>
     <rule name="OrgPage" stopProcessing="true">
     <match url="^(.*)$" />
     <conditions logicalGrouping="MatchAll">
     <add input="{HTTP_HOST}" pattern="^(.*)$" />
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
     conditions>
     <action type="Rewrite" url="index.php/{R:1}" />
     rule>
     rules>
     rewrite>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    nginx

    
    #user  nobody;
    worker_processes  1;
    
    # 打开log
    error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #                  '$status $body_bytes_sent "$http_referer" '
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
        # 打开log
        access_log  logs/access.log;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    	server {
    		listen 80;
    		server_name localhost;
    
    		root D:/work/public;
    
    		index index.php;
    
    		location / {
    			try_files $uri $uri/ /index.php$uri$is_args$query_string;
    		}
    
    		location ~..php($|/) {
    			fastcgi_split_path_info ^(.+.php)(.)$;
    			fastcgi_pass 127.0.0.1:9000;
    			# linux 
    			# fastcgi_pass unix:/var/tmp/php-fpm/php-fpm.sock;
    			fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    			fastcgi_param PATH_INFO $fastcgi_path_info; # TP要这玩意
    			include fastcgi_params;
    		}
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59

    https://www.kancloud.cn/manual/thinkphp6_0/1037488

  • 相关阅读:
    【AWS】如何用SSH连接aws上的EC2实例(虚拟机)?
    从刘维尔方程到Velocity-Verlet算法
    Redis详细教程
    微信迎来史诗级更新,以及两款微信清理工具
    uniapp小程序解决不能上传文件/图片问题
    uniapp封装一个可移动的定位图标
    PSO优化GRU-LSTM超参数
    Java关键字
    C#使用MaxMind.GeoIP2数据库查询当前ip地址
    Spring源码-6.动态代理原理分析
  • 原文地址:https://blog.csdn.net/qq_36437991/article/details/136651819