如何仅重定向主域,而不重定向子域或文件夹中的文件?

时间:2019-01-05 18:20:39

标签: .htaccess

我只需要重定向域,例如。 www.example.com,但是任何子域都无法重定向。另外,如果我在www.example.com/folder/file.pdf上有文件,则这些文件应该在主域下可用。如何使用301重定向?

例如。

www.example.com => redirect
www.sub.example.com => not redirected
www.example.com/folder/file.pdf => not redirected

1 个答案:

答案 0 :(得分:0)

您可以使用<?php $sar = 3.75; $amount = $total / $sar; 文件顶部的mod_rewrite来执行此操作。要特定地匹配域名,您需要一个条件来检查.htaccess HTTP请求标头。

例如:

Host

如果要重定向到同一个域,则不必严格地在 substitution 中指定方案+主机名-但是在不知道服务器配置的情况下,这样做更加可靠

将所有URL路径重定向到另一个域,但具有相同的URL路径,但您提到的特定文件除外:

RewriteEngine On

RewriteCond %{HTTP_HOST} =www.example.com [NC]
RewriteRule ^path/to/source\.html$ https://example.com/path/to/target.html [R,L]

更新:

  

重点是我只想重定向主域。没什么-主域下没有子域或路径。主域将被重定向到Facebook页面。

如果您只想重定向主域的文档根目录,例如。 RewriteCond %{HTTP_HOST} =www.example.com [NC] RewriteCond %{REQUEST_URI} !^/folder/file\.pdf$ RewriteRule (.*) https://example.net/$1 [R,L] ,那么您就不需要为不想重定向的文件夹/文件设置任何例外,因为您只需重定向一个URL。

例如:

example.com/