ASP 使用 ReWrite使用的问题!

时间:2021-03-08 19:24:19
下载的是ISAPI_Rewrite3_0057_Lite.msi这个版本。

已经按照网上的说法装到服务器上去了

装好后没有所说的httpd.ini 有一个httpd.conf文件

那个ISPIA筛选器上的箭头也朝上了

服务器上有好几个网站。


#http://www.***.cn/
RewriteCond %{HTTP:Host}(?:www\.)?***\.cn
#RewriteRule /cn/index\.html$ /cn/index\.asp 

网站文件在E:/目录/网站名称/  的下面

写好规则后没反应
不知为何。
大哥大姐们帮帮忙看下。。谢谢 了

7 个解决方案

#1


RewriteCond Host:www.aaa.com 
     //定义主机www.aaa.com 
   RewriteRule /{[0-9]+}/{[0-9]+}/index.html /list.asp?code1=$0&code2=$1 
     //定义规则,中间一段为正则表达式构建的静态网址,最后一段为实际访问的动态网址。 
     //按上述规则,如用户输入访问http://www.aaa.com/01/04/index.html 
     //实际访问的是http://www.aaa.com/list.asp?code1=01&code2=04 
   RewriteRule /r{[0-9]+}/{[0-9]+}/topic/{[0-9]+}.html /detail.asp?id=$2 
     //每个匹配组由大括号{}引起来,组号从0组开始,后面的$2表示id取第二组的值。 
     //如http://www.aaa.com/r01/11/topic/1234.html,实际访问的则是http://www.aaa.com/detail.asp?id=1234。 
     //第0和1组在此仅从静态网址上体现一种虚拟目录结构。如不需该值可直接取$2的值即可。 
   RewriteRule /topic/{[0-9]+}.html /detail.asp?id=$0 

#2


需要将将news.asp?id=234的映射成news/234.html时,只需设置: 
RewriteRule /news/(\d+)\.html /news\.asp\?id=$1 [N,I] 
这样就把 /news/234.html 这样的请求映射成了 /news.asp?id=234 
当有对/news/234.html的请求时:web服务器会把实际请求转发给/news.asp?id=234 
比对于某一个简单应用可以是:
RewriteRule /news/(\d+)\.html /news/news\.php\?id=$1 [N,I] 
这样就把 http://www.xxxxxx.com/news/234.html 映射到了 http://www.xxxxxx.com/news/news.php?id=234 
一个更通用的能够将所有的动态页面进行参数映射的表达式是: 
把 http://www.xxxxxx.cn/foo.php?a=A&b=B&c=C 
表现成 http://www.xxxxxx.cn/foo.php/a/A/b/B/c/C 
RewriteRule (.*?\.php)(\?[^/]*)?/([^/]*)/([^/]*)(.+?)? $1(?2$2&:\?)$3=$4?5$5: [N,I] 

#3


下载IIS Rewrite模块:http://download.discuz.net/4.1.0/discuz_iis_rewrite.zip ;

2、将压缩包解压到任意目录,(如:C:\Rewrite)。然后打开“控制面板”-“管理工具”-“IIS信息服务管理器”-“网站”-“您的站点”-“属性”。在“ISAPI筛选器”项点击 “添加”,筛选器名称填入Rewrite,可执行文件为C:\Rewrite\Rewrite.dll ;

3、重新启动IIS就可以生效了。

#4


RewriteCond Host:www.aaa.com 
     //定义主机www.aaa.com 
   RewriteRule /{[0-9]+}/{[0-9]+}/index.html /list.asp?code1=$0&code2=$1 
     //定义规则,中间一段为正则表达式构建的静态网址,最后一段为实际访问的动态网址。

这个定义完后是不是就直接访问 该网站所在的根目录啊///大哥.


先试试去

#5


顶下 上面都说了

#6


不懂这个,帮顶下!

#7


怎么回事,看看先

#1


RewriteCond Host:www.aaa.com 
     //定义主机www.aaa.com 
   RewriteRule /{[0-9]+}/{[0-9]+}/index.html /list.asp?code1=$0&code2=$1 
     //定义规则,中间一段为正则表达式构建的静态网址,最后一段为实际访问的动态网址。 
     //按上述规则,如用户输入访问http://www.aaa.com/01/04/index.html 
     //实际访问的是http://www.aaa.com/list.asp?code1=01&code2=04 
   RewriteRule /r{[0-9]+}/{[0-9]+}/topic/{[0-9]+}.html /detail.asp?id=$2 
     //每个匹配组由大括号{}引起来,组号从0组开始,后面的$2表示id取第二组的值。 
     //如http://www.aaa.com/r01/11/topic/1234.html,实际访问的则是http://www.aaa.com/detail.asp?id=1234。 
     //第0和1组在此仅从静态网址上体现一种虚拟目录结构。如不需该值可直接取$2的值即可。 
   RewriteRule /topic/{[0-9]+}.html /detail.asp?id=$0 

#2


需要将将news.asp?id=234的映射成news/234.html时,只需设置: 
RewriteRule /news/(\d+)\.html /news\.asp\?id=$1 [N,I] 
这样就把 /news/234.html 这样的请求映射成了 /news.asp?id=234 
当有对/news/234.html的请求时:web服务器会把实际请求转发给/news.asp?id=234 
比对于某一个简单应用可以是:
RewriteRule /news/(\d+)\.html /news/news\.php\?id=$1 [N,I] 
这样就把 http://www.xxxxxx.com/news/234.html 映射到了 http://www.xxxxxx.com/news/news.php?id=234 
一个更通用的能够将所有的动态页面进行参数映射的表达式是: 
把 http://www.xxxxxx.cn/foo.php?a=A&b=B&c=C 
表现成 http://www.xxxxxx.cn/foo.php/a/A/b/B/c/C 
RewriteRule (.*?\.php)(\?[^/]*)?/([^/]*)/([^/]*)(.+?)? $1(?2$2&:\?)$3=$4?5$5: [N,I] 

#3


下载IIS Rewrite模块:http://download.discuz.net/4.1.0/discuz_iis_rewrite.zip ;

2、将压缩包解压到任意目录,(如:C:\Rewrite)。然后打开“控制面板”-“管理工具”-“IIS信息服务管理器”-“网站”-“您的站点”-“属性”。在“ISAPI筛选器”项点击 “添加”,筛选器名称填入Rewrite,可执行文件为C:\Rewrite\Rewrite.dll ;

3、重新启动IIS就可以生效了。

#4


RewriteCond Host:www.aaa.com 
     //定义主机www.aaa.com 
   RewriteRule /{[0-9]+}/{[0-9]+}/index.html /list.asp?code1=$0&code2=$1 
     //定义规则,中间一段为正则表达式构建的静态网址,最后一段为实际访问的动态网址。

这个定义完后是不是就直接访问 该网站所在的根目录啊///大哥.


先试试去

#5


顶下 上面都说了

#6


不懂这个,帮顶下!

#7


怎么回事,看看先