0

是否可以创建一个包含动态参数(部分 url)的 RewriteRule?

这是现有的重写:

RewriteCond  %{SERVER_NAME}  ^dashdiscovery-dev.site.com
RewriteRule ^/?auth/?$ https://osso-stg.site.com/opensso/idpssoinit?realm=/sitenet&iPSPCookie=yes&RelayState=app=tableau,appURI=/views&NameIDFormat=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress&metaAlias=/sitenet/externalidpv2&spEntityID=server.site.com&binding=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST  [L,R]

我需要获取所请求的完整地址并将其动态放入 Rewrite appURI= 参数中。

像这样的东西:

RewriteCond  %{SERVER_NAME}  ^dashdiscovery-dev.site.com(/view/page7)
    RewriteRule ^/?auth/?$ https://osso-stg.site.com/opensso/idpssoinit?realm=/sitenet&iPSPCookie=yes&RelayState=app=tableau,appURI=(**/view/page7**)&NameIDFormat=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress&metaAlias=/sitenet/externalidpv2&spEntityID=server.site.com&binding=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST  [L,R]

但我也需要它重定向到只是 /views 是在站点名称 RewriteCond %{SERVER_NAME} ^dashdiscovery-dev.site.com 之后没有任何附加参数

编辑以提供有关预期网址的更多信息:

dashdiscovery-dev.site.com

  • 需要在 Rewrite 中有 appURI=/views

dashdiscovery-dev.site.com/views/ResourceManagerDashboardv10-3-15-13_bkup/4DemandvsBooking

  • 在重写中需要 appURI=/views/ResourceManagerDashboardv10-3-15-13_bkup/4DemandvsBooking

dashdiscovery.site.com/views/OpsPipeline/PipelineDash

  • 需要在 Rewrite 中有 appURI=/views/OpsPipeline/PipelineDash

并非所有 URL 都将仅比 /views 高 2 级,但它们都应该具有 /views

4

1 回答 1

0

对于dashdiscovery-dev.site.com

RewriteCond %{HTTP_HOST} ^dashdiscovery-dev\.site\.com$ [NC]
RewriteRule ^/?$ https://osso-stg.site.com/opensso/idpssoinit?realm=/sitenet&iPSPCookie=yes&RelayState=app=tableau,appURI=/views&NameIDFormat=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress&metaAlias=/sitenet/externalidpv2&spEntityID=server.site.com&binding=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST  [L,R]

对于其他一切:

RewriteCond %{HTTP_HOST} ^dashdiscovery-dev\.site\.com$ [NC]
RewriteRule ^/?(views/.*)$ https://osso-stg.site.com/opensso/idpssoinit?realm=/sitenet&iPSPCookie=yes&RelayState=app=tableau,appURI=/$1&NameIDFormat=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress&metaAlias=/sitenet/externalidpv2&spEntityID=server.site.com&binding=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST  [L,R]

$1规则目标中的 反向引用正(views/.*)则表达式匹配。

于 2013-09-27T22:39:11.750 回答