在linux服务器nginx环境下rewrite规则怎么写

在linux服务器nginx环境下rewrite规则怎么写,第1张

给你举一个例子,例如把访问/abc路径的链接全部转到abccom站点去:

server {    
        
    location /abc {
            rewrite ^()$  >

IIS环境

如果你的服务器环境支持ISAPI_Rewrite的话,可以配置>

RewriteRule ()$ /index\php\s=$1 [I]

在IIS的高版本下面可以配置webConfig,在中间添加rewrite节点:

<rewrite>

<rules>

<rule name="OrgPage" stopProcessing="true">

<match url="^()$" />

<conditions logicalGrouping="MatchAll">

<add input="{>

<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />

<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />

</conditions>

<action type="Rewrite" url="indexphp/{R:1}" />

</rule>

</rules>

</rewrite>

Nginx环境

在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginxconf中配置转发规则实现:

location / { // …省略部分代码

 if (!-e $request_filename) {

 rewrite  ^()$  /indexphps=$1  last;

 break;

  }

}

其实内部是转发到了ThinkPHP提供的兼容模式的URL,利用这种方式,可以解决其他不支持PATHINFO的WEB服务器环境。

如果你的ThinkPHP安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。

  location /youdomain/ {

      if (!-e $request_filename){

          rewrite  ^/youdomain/()$  /youdomain/indexphps=$1  last;

      }

  }

1
首先下载 Rewritezip 的包,解压到任意盘上的任意目录。
2
在 IIS 管理器里选择网站,右键选择“属性”,如下图所示:
3
在d出的窗口里选择“ISAPI筛选器”
4
上图中点击“添加”,在d出的窗口里“筛选器名称”填写“rewrite”
5
上图界面中点击“浏览”,选择下载解压后的 Discuz! Rewrite 规则目录下的 Rewritedll 文件
6
浏览完毕点击“确定”
7
添加完毕点击“确定”
8
重新启动 IIS
9
重新选择该站点 => 右键“属性”=> “ISAPI 筛选器”,如果看到状态为向上的绿色箭头,就说明 Rewrite 模块安装成功了。到这里我们的服务器IIS 配置好了~~如果你的是虚拟主机 则询问服务器提供商支不支持 Rewrite

URL 静态化可以提高搜索引擎抓取,开启本功能需要对 Web 服务器增加相应的 Rewrite 规则,且会轻微增加服务器负担。本教程讲解如何在 IIS 环境下配置各个产品的 Rewrite 规则
>if (!-e $request_filename){rewrite ^/()$ /indexphp/$1 last;break;}试过N多种写法,最终上面这几行写法 解决搞定。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13460902.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-11
下一篇 2023-08-11

发表评论

登录后才能评论

评论列表(0条)

保存