首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache重写文件系统或代理

Apache重写文件系统或代理
EN

Stack Overflow用户
提问于 2015-06-18 19:50:48
回答 1查看 166关注 0票数 1

我想创建一个Apache mod_rewrite规则来做的两件事--

  1. 当请求/file-system-target时,服务文件系统目录的内容
  2. 当不请求/file-system-target时代理。

例如:

代码语言:javascript
复制
RewriteRule ^/file-system-target /path/to/file/system/target [L]
RewriteRule ^/(.*) http://localhost:8080 [P]

但是,当观察RewriteLog的输出时,后一条规则总是匹配的,而前者永远不匹配。我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-19 21:29:29

事实证明,语句“后一条规则总是匹配的&前者永远不匹配”可能不是真的;我有一个令人困惑的httpd.conf,其中在多个地方启用了重写日志记录。

无论如何,第一条规则肯定是不完整的。它应该是这样的:

代码语言:javascript
复制
RewriteRule ^/file-system-target(.+)$ /path/to/file/system/target/$1 [L]

我还添加了一个额外的规则来处理(没有)尾随斜杠:

代码语言:javascript
复制
RewriteRule ^/file-system-target$ /path/to/file/system/target/$1 [L]

所以我以:

代码语言:javascript
复制
RewriteRule ^/file-system-target$ /path/to/file/system/target/$1 [L]
RewriteRule ^/file-system-target(.+)$ /path/to/file/system/target/$1 [L]
RewriteRule ^/(.*) http://localhost:8080 [P]

我将假设有更优雅的方法来实现这个特性,但我对上面的配置非常满意,称此任务为“已完成”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30924516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档