【发布时间】:2017-06-12 02:04:34
【问题描述】:
我有几百个域名,分布在不同的注册商。 为了便于管理,我将它们的名称服务器设置为像 above.com 这样的单一服务(它们让你可以重定向到任何地方)
我还在共享主机 (linux) 上设置了一个 wordpress 站点,其中每个域都有一些内容,遵循以下 URL 结构:
http://example.com/domain1
http://example.com/domain2
http://example.com/domain300
现在我想在有人在浏览器中输入或点击链接时完成此操作:
http:// domain1.com -> should be redirected to http://example.com/domain1
http:// domain2.com -> should be redirected to http://example.com/domain2
http:// domain300.com -> should be redirected to http://example.com/domain300
有没有办法避免单独编辑数百个域/dns 条目?
如果可以屏蔽就好了:
如果有人输入http://domain1.com,他应该被重定向到http:// example.com/domain1,但浏览器栏的网址仍然显示http://domain1.com
我擅长设计网站,但编码能力非常差。 有任何模板或现成的解决方案吗?
任何帮助将不胜感激。
编辑:
路线略有不同呢:
如果 wordpress URL 结构设置如下:
site.com/domain1.de
site.com/domain2.us
..
site.com/domain300.com
那么将每个域指向 site.com 并制定一些规则来根据引荐来源将流量引导到匹配的子目录/URL 结构是否更容易?
domain1.de -> gets redirected to site.com/domain1.de
domain2.us -> gets redirected to site.com/domain2.us
..
domain300.com -> gets redirected to site.com/domain300.com
更新:
我现在已将以下代码添加到 wordpress 根目录中的 .htaccess 中:
# BEGIN Stackexchange hack
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(domain[\d]+\..*)$
RewriteRule ^(.*)$ http://example.com/%1 [L,R,QSA]
</IfModule>
# END Stackexchange hack
我无法让它工作.. 重定向的域都将转到 index = example.com 而是被重定向到 example.com/domain.de
【问题讨论】:
-
大多数不错的 DNS 管理服务会提供 API 或 SDK,允许您创建一个简单的一次性脚本来批量更新所有 300 个 DNS 条目。如果没有,那么您可以让
domain1指向特定 IP,其他所有内容都指向domain1,因此 domain1 中的更改将传播,您只需执行一次(即使这是一个巨大的痛苦) -
是的,谢谢。我尽量避免任何复杂的事情(不想搞砸……对我来说,这甚至是一个批处理脚本)。我稍微更新/编辑了原始问题。也许有了这样的 url 结构,一个更简单的解决方案是可能的。
-
用建议的解决方案更新了原始问题。但不能让它工作。
-
将
[\d]+改为[\d]*,表示domain后面的数字是可选的。现在它期望domainNNN.ext -
哦.. 也许我对重定向的域不够清楚。没有号码。 domain1, domain2 可以代表具有任何扩展名(az,0-1)(com,net,org,de..)的任何域名 -> 它只是一堆可以以任何形式和扩展名出现的不同域.
标签: php .htaccess redirect referer