繁体   English   中英

保持htaccess在整个网站上的重定向

[英]Keep htaccess redirect on entire site

我将尽力解释这一点。 我正在建立一个会员网站。 这样他们就可以注册,然后将他们提供的用户名写入数据库。 然后,他们可以访问其附属站点www.domain.com/affiliate/username

我的.htaccess文件将网址重定向: www.domain.com/affiliate/home.php?affiliate=username www.domain.com/affiliate/username = www.domain.com/affiliate/home.php?affiliate=usernamewww.domain.com/affiliate/username

我希望这是有道理的。 我需要的是如何在整个站点上保持该用户名变量不变。 因此,如果他们位于domain.com/affiliate/username的主页上,并且单击“关于”页面或其他内容,那么我要确保它位于domain.com/affiliate/username 这样,当该人去买东西时,我确保它是通过会员网站而不是常规的domain.com网站购买的。

任何帮助是极大的赞赏。 我对此并不陌生,所以请多多包涵。 谢谢!

快速总结了3种方法,它们与mod_rewrite / .htaccess没有任何关系(将此示例作为我刚刚学习的示例称为XY问题 ):

  • 与他们来自的会员建立cookie。 一旦设置了cookie,就忽略URL,并将预订记入适当的会员。 (如果您已经在使用PHP会话,则可以将会员保留在其中,这几乎是相同的。)
  • 用PHP代码重写所有URL,以便每当您显示链接或表单时,它都会推送到适当的URL。 更难编写,更容易引入错误。
  • 使用子域而不是子目录(例如affiliate42.example.com),并使所有链接都相对于基础。 一个绊脚石是,您需要一个覆盖所有子域的通配符SSL证书,这有点贵。

如果您真的想使用重写规则来执行此操作,则可以将其与c​​ookie选项结合使用:基于cookie,以不同的方式重定向它们。 但是我不确定这样做是否有很多优势,并且通过POST提交的表单可能仍需要在PHP层中进行处理,因为它们很难一致地重定向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM