温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

iis7 php伪静态的设置方法是什么

发布时间:2020-08-26 09:47:34 来源:亿速云 阅读:160 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关iis7 php伪静态的设置方法是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

iis7 php伪静态设置的方法:首先下载IIS的URLRewrite;然后点击“Add Rules”并选择“Blank rule”;最后添加一个伪静态规则并确定保存即可。

iis7 php伪静态的设置方法是什么

某个项目是PHP的,本地是Apache + PHP + MYSQL服务器上的环境是IIS + PHP + MYSQL,开发完成准备部署到服务器上发现伪静态无法使用,原因是IIS不能解析.htaccess文件的内容。

如要在IIS下启用伪静态 就需要下载IIS的 URLRewrite,地址是: http://www.iis.net/expand/URLRewrite

iis7 php伪静态的设置方法是什么

点击那个 or view additional downloads 转到,服务器是64位的,所以我下载x64版本的URL Rewrite

iis7 php伪静态的设置方法是什么

iis7 php伪静态的设置方法是什么

双击下载完成的文件,下一步、下一步到安装完成

iis7 php伪静态的设置方法是什么

重新打开IIS发现多了个URL Rewrite项,打开全E文呀,不用怕其实配置还是很简单的……

iis7 php伪静态的设置方法是什么

如果我们要添加一个伪静态规则那么点击Add Rules,选择 Blank rule

iis7 php伪静态的设置方法是什么

我们只需要填写三个部分

name是这个规则的名称,可以随便取一个

Pattern是匹配规则

Action Properties是真实的地址

iis7 php伪静态的设置方法是什么

还有个Test pattern是用来测试匹配规则是否正确,例如我想测试一下^category/(.+)\.html$ 这个匹配设置,Test Results还很贴心的给出了匹配结果和我们需要的参数列表,其中 {R:1}就是我想要的参数,可以在 Rewrite URL中使用: cn/index.php?o={R:1} 是不是很简单~

顺便提一下:我在测试的时候不小心在正则表达式后面多加了个空格,结果总是匹配失败,所以大家要注意匹配规则的正则表达式前后不要带空格~

iis7 php伪静态的设置方法是什么

URLRewrite的规则和Apache中基本类似,例如在Apache中匹配规则是这样的:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^category/(.+)\.html$         cn/index.php?o=$1
    RewriteRule ^substance/(.+)_(.+)\.html$   cn/index.php?o=$1&id=$2</IfModule>

那么在IIS中我们只需要将其中的 $1  $2替换成 {R:1}, {R:2} 就可以了

^category/(.+)\.html$                cn/index.php?o={R:1}
^substance/(.+)_(.+)\.html$     cn/index.php?o={R:1}&id={R:2}

熟悉了规则我们可以不用这个工具自己手工写URL匹配规则了,在网站根目录下修改web.config文件,system.webServer节点下增加rewrite项,修改内容为:

<?xml version="1.0" encoding="UTF-8"?><configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="category">
                    <match url="^category/(.+)\.html$" />
                    <action type="Rewrite" url="cn/index.php?o={R:1}" />
                </rule>
                <rule name="substance">
                    <match url="^substance/(.+)_(.+)\.html$" />
                    <action type="Rewrite" url="cn/index.php?o={R:1}&amp;id={R:2}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer></configuration>

感谢各位的阅读!关于iis7 php伪静态的设置方法是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI