请教一个 Apache URLRewrite 问题

黄勇 发布于 2013/10/09 16:18
阅读 320
收藏 0

武汉源创会回归,4月20聊聊大模型”

请教如何在 Apache 中,将 http://www.xxx.com/page/login.html 重写为 http://www.xxx.com/login.html?也就是说,把原始 URL 中的 /page 给去掉。

以下是问题补充:

@黄勇:其实我就想将 /xyz.html 转发到 /page/xyz.html 而已。 (2013/10/09 20:54)
加载中
0
后山悟道蜘蛛侠
后山悟道蜘蛛侠
该评论暂时无法显示,详情咨询 QQ 群:点此入群
黄勇
黄勇
我想用 Apache 的 RewriteRule 进行配置,应该如何写呢?
0
Narky
Narky

RewriteRule ^page/login.html /login.html

不好意思,写反了,哈哈。应该是

RewriteRule ^login.html /page/login.html [QSA,L]

Narky
Narky
回复 @黄勇 : 不好意思,写反了,哈哈。应该是 RewriteRule ^login.html /page/login.html [QSA,L]
黄勇
黄勇
还是不行。
Narky
Narky
回复 @黄勇 : 后面加上[QSA,L] 试试看
黄勇
黄勇
貌似不对啊
0
黄勇
黄勇

仔细读了一下 Apache URL Rewrite 文档,原来需要这样配置:

RewriteRule ^/(.*)\.html$ /page/$1.html [PT]

黄勇
黄勇
@腾勇 不太明白您的意思,您觉得应该如何配置呢?
开源中国董事会主席
开源中国董事会主席
你这个可能会出问题,任何情况下都会在page这个目录下面去找原始文件 http://www.xxx.com/a/b/c.html 会被转化成http://www.xxx.com/page/a/b/c.html
Narky
Narky
实在不好意思,写反了。如果没有多余的参数,可以直接写死,正则可以去掉
0
开源中国董事会主席
开源中国董事会主席

引用来自“黄勇”的答案

仔细读了一下 Apache URL Rewrite 文档,原来需要这样配置:

RewriteRule ^/(.*)\.html$ /page/$1.html [PT]

假如你的原始url中path都以page/ 开头这样也没错。

如果不是 你login的那个单独配置

RewriteRule ^(.)/page/login.html$ $1/page/login.html [QSA,L]

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部