15053971836 注册 / 登录

win2003配置伪静态

时间: 阅读:480
win2003配置伪静态

最佳回答

阳光下的阴霾

阳光下的阴霾

2023-01-16 14:02:49

环境:WIN2003+IIS6+PHP5N

看下,D盘权限为administrator,下面有一目录为网站目录Web,权限为administrator,然后Web目录下面是各个网站的目录,比如说Sprvk目录,平时的建法是Sprvk目录权限为administrator,下面再建Data目录和Web目录,这两个目录的权限是权限为administrator+web_spvrk(IIS运行帐号),这样问题就来了,放根目录的PHP程序就会出现各种各样的问题,就是不能正常运行,这应该是目录权限继承的问题。

正确的权限设定是Sprvk目录权限为administrator+web_spvrk(IIS运行帐号),下面的两个目录权限为继承,也就是网站根目录的上级目录的权限要和网站根目录权限一样这才样就没问题了。

IIS配置支持伪静态 ISAPI Rewrite(win2003系统)

第一:首先我们需要下载一个ISAPI_Rewrite,有精简版和完全版,一般精简版只能对服务器全局进行配置,而完整版可以对服务器上的各个网站进行伪静态配置.对于个人站长来说,精简版就足够了.

下载:http://www.isapirewrite.com/download/isapi_rwl_0055.msi

第二:下载完成后,可以找到安装包里的.msi的文件,安装即可.

随便装在哪都可以,默认是装在C:Program FilesHelicon下,要注意的是这个目录everyone要有读取权限。我就因为当时服务器权限配的比较严格,默认安装Helicon这目录EVERYONE是没有任何权限的,结果老是出现:Service Unavailable 。

第三:打开Internet 信息服务,右键,web站点属性,点击ISAPI筛选器选项卡.添加筛选器,这里的名称可以自己随意填写,路径自己指定ISAPI_Rewrite.dll,然后确定.

下面我们先做一个测试页new.asp,可以按照下面的代码写

然后,在浏览器中输入:

http://127.0.0.1/new.asp?id=1234

接着你就可以在网页上看到一行文字:"1234"

看到这几个数字,就说明你测试成功了.

现在我们开始来配置ISAPI_Rewrite :

打开ISAPI_Rewrite的目录,把httpd.ini的只读属性去掉,打开编辑.我们现在是需要把new.asp?id=1234修改成类似new_1234.html的路径,因此,我们需要在httpd.ini中添加一句

RewriteRule /new_([0-9,a-z]*).html /new.asp?id={GetProperty(Content)}

保存后,我们就可以测试一下这个网址了:http://127.0.0.1/new_1234.html

可以看到页面上的"1234"了吧,就这样伪静态配置成功了!

最新回答共有2条回答

  • seo从业者
    回复
    2023-01-16 16:16:51

    用的是ISAPI_Rewrite这个URL重写组件吗?

    [ISAPI_Rewrite]规则:
    RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
    RewriteRule ^(.*)/catalog/([a-z0-9_]+.html)$ $1/catalog/index.php?$2
    如想要把article.php?bl_id=123&bu_id=456 伪静态成 /directory/123/456.html
    可以这样写:
    RewriteRule ^(.*)/directory/([0-9]+)/([0-9]+).html$ $1/article.php?bl_id=$2&bu_id=$3
    以上规则中的$1, $2, $3就是要静态化地址表达式中相应顺序的匹配值
    比如:
    ^(.*)/catalog/([a-z0-9_]+.html)$ $1/catalog/index.php?$2
    ^(.*)-----$1
    [a-z0-9_]-----$2
    配置位置一般是httpd.ini中[ISAPI_Rewrite]标签之后,关键还是要理解正则表达式。