我第一次将应用程序与域绑定,并且将我的应用程序与域绑定,并且它具有A Name
。
www.domain.de
我还有两个子域。
api.domain.de
admin.domain.de
现在我有一个静态应用程序,必须只能通过主域而不是子域进行访问。
我尝试过的事情
RewriteEngine On
RewriteCond %{HTTP_HOST} ={api.domain.de}[NC]
RewriteCond %{QUERY_STRING} ^({folderName})
RewriteRule ^$ http://{domain}.de//?%1 [R=301,L]
任何人都可以帮助实现这一目标吗?
答案 0 :(得分:1)
这可能是一种直接的方法...
它实现了 all 请求的外部重定向到与“ www.example.com”不同的任何主机名,同时保留了请求的路径和查询字符串。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule ^/?(.*)$ https://example.com/$1 [QSA,R=301]
但是,我希望有 个您不想要重定向的请求。您在问题中提到的两个主机名都表明它们旨在用于特定目的。因此,最有可能应该不重定向这些请求?
这可以使用额外的内部重写来实现,该重写可以在应用更通用的重定向之前处理此类请求 >
显然,这些只是示例,您需要对其进行调整以适合您的特定需求。您的问题在这里含糊不清,因此这是我们能提供的最好的解决方案... 更新 这对我有用... :) 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]
<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>