正则 需要将 xx.com/ManageOffice/*.asp 重写为 xx.com/*.html

2014-08-28 17:14:19 +08:00
 lovine
^(\w+).html (.*)/ManageOffice/(\w+).asp 这样写 不成功 哪位大大帮忙看下 q求教下怎么写
3612 次点击
所在节点    程序员
30 条回复
xieranmaya
2014-08-28 18:49:20 +08:00
"xx.com/ManageOffice/abc.asp".replace(/(xx\.com\/)ManageOffice\/(.*)\.asp/,"$1$2.html")
"xx.com/abc.html"
JS的,不谢
ericFork
2014-08-28 20:12:24 +08:00
你这里的「重写」是指 nginx 的「rewrite」?
fgss
2014-08-28 20:54:35 +08:00
apache的rewrite:
RewriteRule ^/ManageOffice/(\w+)\.asp$ /$1.html

nginx的rewrite:
rewrite ^/ManageOffice/(\w+)\.asp$ /$1.html last;

整条URL正则:
^\w+\.com/ManageOffice/(\w+)\.asp$
lovine
2014-08-28 21:11:03 +08:00
@ericFork url重写 正则表达式,应该不管nginx还是其他的都通用
lovine
2014-08-28 21:11:27 +08:00
@xieranmaya 谢谢奥
lovine
2014-08-28 21:12:00 +08:00
@fgss 明天试一下 这会 手机了 先谢谢~~
lovine
2014-08-29 09:13:33 +08:00
iis的 我用这个 好像没效果
@fgss
lovine
2014-08-29 09:15:38 +08:00
iis的这样 有人用过的吗 是用的一个重写模块 和apache那些有点不一样 模式这里我填了规则 下面的重写URL是填写什么? 是填写重写前的url?(比如xx.com/ManageOffice/*.asp)
mengskysama
2014-08-29 10:52:00 +08:00
IIS 里面有个测试模式你可以自己验证下的
lovine
2014-08-29 11:25:23 +08:00
测试 错误= =
@mengskysama
icyflash
2014-08-29 11:47:45 +08:00
模式那里填写 ^(.*)/ManageOffice/(.+).asp\?*.*$
重写URL那里填写 {R:1}/{R:2}.html
fgss
2014-08-29 14:58:57 +08:00
IIS 7.5:
模式 ^ManageOffice/(.+)\.asp$
重写URL {R:1}.html
lovine
2014-08-29 15:47:29 +08:00
@fgss 规则好像 有效果 重写为xx.html了 但是 打不开l了 禁用规则就可以打开。。不知道哪里还是一点问题 需求就是xx.com/ManageOffice/*.asp 重写为 xx.com/*.html 前面的网址应该不用管 就是后面的文件夹路径ManageOffice,想要把这个文件夹路径隐藏 然后后面的asp写为*.html 折腾好久了 还没弄好 = =
fgss
2014-08-29 19:05:49 +08:00
@lovine
额,好像是我理解反了?
你的意思是,访客访问xx.com/*.html,实际打开xx.com/ManageOffice/*.asp,从而隐藏ManageOffice?

那应该换过来:

模式 ^(.+)\.html$
重写URL ManageOffice/{R:1}.asp

不过这样网站根目录下的其他.html文件就无法正常访问到了
lovine
2014-08-29 20:49:35 +08:00
@fgss 不是 你理解没反,我就是要 当访问xx.com/ManageOffice/*.asp 的时候,地址栏显示的是xx.com/*.html
fgss
2014-08-29 22:21:02 +08:00
@lovine
。。好吧,说清楚点,访客输入的网址是哪种形式
lovine
2014-08-29 23:10:46 +08:00
@fgss 访客输入的是xx.com/ManageOffice/*.asp *代表多个不同的 不是固定的
lovine
2014-08-29 23:11:58 +08:00
当访客输入上面的地址时 重写为 xx.com/*.html 这种简洁的形式
lovine
2014-08-29 23:12:42 +08:00
@fgss 当访客输入上面的地址时 重写为 xx.com/*.html 这种简洁的形式
loveminds
2014-08-30 06:33:42 +08:00
@lovine 模式 ^(.+)\.html$
重写URL ManageOffice/{R:1}.asp

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/130454

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX