运行LAMP堆栈......
我尝试将公司的domain.com/blog流量重定向到新的子域(例如blog.domain.com),同时保留子目录(域名)之后的任何尾随URL。 com / blog / article1234变成了blog.domain.com/article1234)。
我尝试使用重写规则和条件对我的.htaccess文件进行了多次修改,这似乎是我最接近成功的地方:
checkAnalisi
我还以为我接近这个:
.selectPromptValue
但最终以某种方式打破了网址。如果是302或301,我不会亲自关心 - 我们打算无限期地保留这个子域名,但我过去曾经遇到过301的噩梦问题。在这一点上对任何事情开放。
思考?提前谢谢。
答案 0 :(得分:0)
你的第二次尝试接近完美,我只做了一些小改动:
RewriteEngine on
RewriteRule ^/?blog/?(.*)$ blog.domain.com/$1 [R=302,END,QSA]
如果您使用较旧的apache服务器,则可能必须将END
标志替换为L
标志,除非您有相互冲突的规则,否则该标志通常有效。
一般提示:您应该始终更喜欢将此类规则放在http服务器主机配置中,而不是使用.htaccess
样式文件。这些文件非常容易出错,难以调试,它们确实会降低服务器的速度。它们仅作为最后一个选项提供给您无法控制主机配置的情况(阅读:非常便宜的托管服务提供商),或者您有一个依赖于编写自己的重写规则的应用程序(这是一个明显的安全噩梦) )。