我正在从Wordpress博客切换到Hugo博客。我想在example.com上切换内容以显示/ var / www / new-blog中的内容。当前,它仅在/ var / www /中显示内容。我想将其保留在new-blog目录中,并且仍然是网站根目录中显示的内容。
但是我不想更改DocumentRoot,因为/ var / www /中有其他我不想影响的目录。
我需要使用mod_rewrite来做到这一点吗?
答案 0 :(得分:1)
这是我从您的帖子中了解的内容。
当前情况
目录结构:
1) /var/wwww/
2) /var/www/new-blog/
1)DocumentRoot /var/www/
因此http://example.com/指向/ var / www
2)可通过http://example.com/new-blog
到达您想要的
解决方案
快速浏览一下,尽管Alias
可以解决问题,但我自己尝试后就不会解决。
因此,请使用mod_rewrite(确保已加载mod_rewrite)。
RewriteEngine on
RewriteRule ^/$ http://example.com/new-blog [R,L]
通过这种方式,http://example.com
或http://example.com/
都将重定向到new-blog目录。
任何其他请求(即http://example.com/dir
)都将回复/var/www/dir
中的内容。
值得注意的是,用户将看到其地址栏从http://example.com/变为http://example.com/new-blog。
EXTRA解决方案
如果您不希望用户知道他们正在被重定向,则可以改为代理。
首先请确保已加载mod_proxy
和mod_proxy_http
。删除之前添加的RewriteRule,改为添加以下配置:
ProxyPassMatch ^/$ http://example.com/new-blog
ProxyPassReverse ^/$ http://example.com/new-blog
很好的是,这两种解决方案都可以让您访问/ var / www下的文件或目录。只有http://example.com/
被重定向或代理。