如何使用名称服务器将域指向外部站点上的 url
How to point domain to url on external site using nameservers
这是我想要完成的。
我有域 A,我想更新名称服务器以使用域 B 上的自定义名称服务器设置(即 ns1.domainb.com 和 ns2.domainb.com)。
然后,当用户转到 domainA.com 时,我希望它将他们带到域 B。com/domainA
我怎样才能做到这一点?我不能通过域 B 上的 HTACCESS 文件完成此操作吗?
When users go to domainA.com I want it to take them to
domainB.com/domainA
此解决方案解释了如何实现:
example.com --> domainB.com/example.com
DNS 记录和 .htaccess
首先设置domainA.com的DNS指向domainB.com的IP地址服务器。在 domainB.com 的根目录中,创建一个 .htaccess 文件,其中的规则为 redirect/rewrite domainA.com 请求 domainB.com/domainA。有两种方法和结果。
方法 1 - 静默重写 URI 请求
用户导航到 http://example.com, browser shows http://example.com。
在 domainB.com 的根目录中设置这些 .htaccess 规则:
RewriteEngine On
RewriteBase /
# Check that the request is NOT from domainB.com, e.g. domainA
RewriteCond %{HTTP_HOST} !domainB\.com$ [NC]
# Capture the top-level domainA name
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+?)$
# Check that we are not already requesting a valid file or directory
# This prevents inserting the subdirectory name into an already valid path
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite requests with the domainA subdirectory
RewriteRule (.*) /%1/ [L]
方法 2 - 明确强制重定向到新位置
用户导航至 http://example.com, browser shows http://domainB.com/example.com。
在 domainB.com 的根目录中设置这些 .htaccess 规则:
RewriteEngine On
RewriteBase /
# Check that the request is NOT from domainB.com, e.g. domainA
RewriteCond %{HTTP_HOST} !domainB\.com$ [NC]
# Capture the top-level domainA name
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+?)$
# Force a 301 redirect to the new URI
RewriteRule ^(.*)$ http://domainB.com/%1%{REQUEST_URI} [R=301,L]
自定义
在撰写本文时,您可以在此处测试和修改(大多数).htaccess 规则以支持您的自定义要求:http://htaccess.madewithlove.be/
以下是实现进一步自定义的提示和技巧:http://mod-rewrite-cheatsheet.com/
这是我想要完成的。
我有域 A,我想更新名称服务器以使用域 B 上的自定义名称服务器设置(即 ns1.domainb.com 和 ns2.domainb.com)。
然后,当用户转到 domainA.com 时,我希望它将他们带到域 B。com/domainA
我怎样才能做到这一点?我不能通过域 B 上的 HTACCESS 文件完成此操作吗?
When users go to domainA.com I want it to take them to domainB.com/domainA
此解决方案解释了如何实现:
example.com --> domainB.com/example.com
DNS 记录和 .htaccess
首先设置domainA.com的DNS指向domainB.com的IP地址服务器。在 domainB.com 的根目录中,创建一个 .htaccess 文件,其中的规则为 redirect/rewrite domainA.com 请求 domainB.com/domainA。有两种方法和结果。
方法 1 - 静默重写 URI 请求
用户导航到 http://example.com, browser shows http://example.com。
在 domainB.com 的根目录中设置这些 .htaccess 规则:
RewriteEngine On
RewriteBase /
# Check that the request is NOT from domainB.com, e.g. domainA
RewriteCond %{HTTP_HOST} !domainB\.com$ [NC]
# Capture the top-level domainA name
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+?)$
# Check that we are not already requesting a valid file or directory
# This prevents inserting the subdirectory name into an already valid path
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite requests with the domainA subdirectory
RewriteRule (.*) /%1/ [L]
方法 2 - 明确强制重定向到新位置
用户导航至 http://example.com, browser shows http://domainB.com/example.com。
在 domainB.com 的根目录中设置这些 .htaccess 规则:
RewriteEngine On
RewriteBase /
# Check that the request is NOT from domainB.com, e.g. domainA
RewriteCond %{HTTP_HOST} !domainB\.com$ [NC]
# Capture the top-level domainA name
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+?)$
# Force a 301 redirect to the new URI
RewriteRule ^(.*)$ http://domainB.com/%1%{REQUEST_URI} [R=301,L]
自定义
在撰写本文时,您可以在此处测试和修改(大多数).htaccess 规则以支持您的自定义要求:http://htaccess.madewithlove.be/
以下是实现进一步自定义的提示和技巧:http://mod-rewrite-cheatsheet.com/