2015-06-22 31 views
0

我在努力解决mod_rewrite问题。基本上,我需要做域名秘密重定向,从偷偷在域名上做一个mod_rewrite

http://domainname.com.someotherstuff.com 

http://domainname.com 

此规则应该不会影响所有子目录以及。

我理解有三个步骤:

  1. 告诉系统如果路径匹配我们正在寻找
  2. 定义重写规则
  3. 通过新的路径旧之一,所以系统知道(即使它没有显示),这两个比赛

我已经看了几个帖子和资源(最接近的莫过于thisthis),但他们都不能同时解决我的问题 - 重写和保密问题。

任何人都可以指向正确的方向吗?

此外,有人可以解释一个隐藏的重定向和301之间的权衡?隐藏的重定向不是搜索引擎友好的,对吗?

非常感谢!

+1

什么是“秘密”重定向?如果您返回301,则不会有任何秘密,浏览器中的地址将会更改。 – arco444

+0

我的意思是,我希望任何页面,子页面和资源在页面加载期间显示“http:// domainname.com/pageorresource”而不是“http:// domainname.com.someotherstuff.com/pageorresource”。 301是我读过的东西(试图找到我的浏览器历史记录中的链接),不确定它在讨论中是否相关 – ruggerocastagnola

+0

是的,因此我无法实现自己的目标。我明白,如果隐藏重定向,这是一个折衷:它不是搜索引擎友好的(例如[this](https://css-tricks.com/snippets/htaccess/301-redirects/))。 – ruggerocastagnola

回答

0

指的是一个较旧的职位澄清rewrite vs redirect

如果你想在客户的浏览器说http://domainname.com,但是从http://domainname.com.someotherstuff.com获取内容,那么你想要的是一个重写。您将您的客户指向http://domainname.com,然后回答前端(服务器/ LB/etc ...)将“domainname.com”重写为“domainname.com.someotherstuff.com”,并将请求发送到后端服务回答该请求。在这种情况下,我更喜欢SNAT,所以后端直接响应前端,然后将内容返回给客户,而不是更明智。

你这里有几个运动部件:

  1. 的DNS条目domainname.com和domainname.com.someotherstuff.com
  2. 前端 - F5s是我的最爱,但你可以实现与任何Linux类似的结果服务器;需要能够解析domainname.com.someotherstuff.com并具有到后端的网络连接;服务请求http://domainname.com
  3. 后端 - web服务器;来自前端的服务请求http://domainname.com.someotherstuff.com
+0

嗨里克,谢谢你为我清理,真的很有帮助! – ruggerocastagnola

+0

随时点击“接受答案”按钮或问任何其他问题,如果你需要更多的澄清=) –