从剧目加载子域 URL 的 htaccess 重写规则


Htaccess rewrite rule from repertory load sub domain urls

我正在尝试为 2 个网站做点什么。主要的是在 www.personal.com 然后有一个托管在另一台服务器上的wordpress博客可以加载到 blog.personal.com

我想使用/blog/ 架构将网址屏蔽为主站点并加载(透明)相同的子域网址

示例:www.personal.com/blog/my-first-article 将加载 blog.personal.com/my-first-article 但是将此 url 保留在浏览器中(浏览器中的 url 不会更改):

www.personal.com/blog/my-first-article

最后一个困难,.htaccess文件被我托管的其他网站使用,那么我不希望其他域的这些规则比 personal.com 该规则应该只针对一个域名。

有谁知道如何做到这一点?

解决了,正确的事情是,在 Apache VHOST 配置中:

  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^www'.personal'.com$
  RewriteCond %{REQUEST_URI} ^/blog/
  RewriteRule ^blog/(.*)$ http://blog.personal.com/$1 [P,QSA]
  ProxyPass /blog/ http://blog.personal.com/
  RewriteCond %{HTTP_REFERER} ^http://www'.personal'.com/blog/ [NC]
  RewriteCond %{REQUEST_URI} ^(/[^/]+/)
  RewriteCond %{REQUEST_URI} '.(jpg|png|css|js)$
  RewriteRule ^(.*)$ http://blog.personal.com/$1 [L,QSA,R=301]