首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何限制通过子域访问应用程序?

如何限制通过子域访问应用程序?
EN

Stack Overflow用户
提问于 2019-09-18 04:50:25
回答 1查看 104关注 0票数 0

我是第一次绑定应用程序与域名,我已经绑定我的应用程序与域名,它有一个A Name

代码语言:javascript
复制
www.domain.de

我也有两个子域。

代码语言:javascript
复制
api.domain.de
admin.domain.de

现在我有了一个静态应用程序,它只能通过主域访问,而不是通过子域访问。

我试过什么

代码语言:javascript
复制
RewriteEngine On

RewriteCond %{HTTP_HOST} ={api.domain.de}[NC]
RewriteCond %{QUERY_STRING} ^({folderName})
RewriteRule ^$ http://{domain}.de//?%1 [R=301,L]

有人能帮助实现这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-18 05:58:09

这可能是一个直截了当的方法..。

它实现了将所有请求外部重定向到与"www.example.com“不同的任何主机名,同时保留请求的路径和查询字符串。

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule ^/?(.*)$ https://example.com/$1 [QSA,R=301]

但是,我希望有某些请求您不希望重定向。您在问题中提到的两个主机名都表明它们是用于特定目的的。所以很可能这些请求不应该被重定向?

这可以通过额外的内部重写来实现,在应用更一般的重定向之前处理这些请求:

代码语言:javascript
复制
RewriteEngine On

RewriteCond %{HTTP_HOST} ^admin\.example\.com$
RewriteCond %{REQUEST_URI} !^/admin/
RewriteRule ^/?(.*)$ /admin/$1 [END]

RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule ^/?(.*)$ https://example.com/$1 [QSA,R=301]

显然,这些只是例子,您需要对它们进行调整,以满足您的特定需求。你的问题在这里很模糊,所以这是我们能提供的最好的.

更新

代码语言:javascript
复制
<IfModule mod_rewrite.c>
RewriteEngine On 

RewriteCond %{HTTP_HOST} ^api.domain.de$ [OR]
RewriteCond %{HTTP_HOST} ^admin.domain.de$
RewriteRule (.*)$ http://domain.de/projectName/$1 [R=301,L]
</IfModule>

这对我有用..。:)

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

https://stackoverflow.com/questions/57985275

复制
相关文章

相似问题

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