首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于http状态码的重写

基于http状态码的重写
EN

Stack Overflow用户
提问于 2015-12-16 15:17:21
回答 2查看 5.5K关注 0票数 1

apache中有任何方法可以根据您得到的http代码响应来设置重写条件吗?oauth代理(apache)前面的服务器将(302)重定向到我的auth提供程序;但是,我不希望它代理websocket目录中的任何内容--我希望它是403。这一切都是为了防止它不断尝试发布未经授权的数据,并为OpenIDC构建大量的状态cookie。

谢谢你的考虑。

就像这样:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_HOST} ^my\.server\.co$
RewriteCond %{HTTP_RESPONSE} 302
RewriteCond %{REQUEST_URI}  ^/websocket
RewriteRule (.*) $1 [F,L,NC]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-17 21:07:42

您应该能够使用:

代码语言:javascript
复制
<Location /websocket>
    OIDCUnAuthAction 401
</Location>

如配置原语中记录的这里所示:

代码语言:javascript
复制
# (Optional)
# Defines the action to be taken when an unauthenticated request is made.
# "auth" means that the user is redirected to the OpenID Connect Provider or Discovery page.
# "401" means that HTTP 401 Unauthorized is returned.
# "pass" means that an unauthenticated request will pass but claims will still be passed when a user happens to be authenticated already
# Useful in Location/Directory/Proxy path contexts that serve AJAX/Javascript calls and for "anonymous access"
# When not defined the default "auth" is used.
#OIDCUnAuthAction [auth|pass|401]

(它将返回401状态代码,而不是403)

票数 3
EN

Stack Overflow用户

发布于 2016-06-14 08:46:28

其他解决方案

代码语言:javascript
复制
RewriteEngine on

ErrorDocument 403 /%{REQUEST_URI}/403.shtml
ErrorDocument 404 /%{REQUEST_URI}/404.shtml

RewriteCond %{REQUEST_URI} /([0-9]{3}+).shtml$ [NC]
RewriteRule (.*) $1 [R=%1,L]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34315646

复制
相关文章

相似问题

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