ISAPI_REWRITE3动态页面URL做301到静态页面 301重定向REWRITE
程序员文章站
2024-02-28 22:40:52
...
我网站原来是动态的,现在我改成生成静态了,我想把原来动态的页面用301重定向到现在的静态页面。
可是动态页面中的问号一直出错。
下面是我写的
动态页面是:news.asp?cat=1
静态页面是:news_1.html
我想把动态页面定向到静态页面。
下面是写的规则
RewriteRule ^/news\.asp\?cat=([0-9]*)$ /news_$1\.html [R=301]
这个规则得到的结果是:
new_1.html?cat=1
但是这个不是我想要的结果 。
可是动态页面中的问号一直出错。
下面是我写的
动态页面是:news.asp?cat=1
静态页面是:news_1.html
我想把动态页面定向到静态页面。
下面是写的规则
RewriteRule ^/news\.asp\?cat=([0-9]*)$ /news_$1\.html [R=301]
这个规则得到的结果是:
new_1.html?cat=1
但是这个不是我想要的结果 。
解决办法如下:
在研究了ISAPI_Rewrite3的规则之后得出如下结论:
这个规则的正确写法是(红字部分):
RewriteCond %{QUERY_STRING} ^cat=(\d+)$
RewriteRule ^/news\.asp$ /news_%1.html? [R=301,O]
得到的结果是news_1.html
#示例:把几个动态URL做301转移到静态页面上
RewriteCond %{QUERY_STRING} ^id=1210$
RewriteRule ^/Item/list\.asp /html/zx/zx_1210.html? [NC,L,R=301,O]
RewriteCond %{QUERY_STRING} ^id=1165$
RewriteRule ^/Item/list\.asp /html/News/xwdt_1165.html? [NC,L,R=301,O]
RewriteCond %{QUERY_STRING} ^id=1254$
RewriteRule ^/Item/list\.asp /html/qggwypx/xw_1254.html? [NC,L,R=301,O]