htaccess无形重写文件夹

时间:2016-01-14 11:32:22

标签: php wordpress apache .htaccess mod-rewrite

我在目录/ html /中的一台服务器上有多个具有不同内容的域,这些域服务于所有域,例如example1.com,example2.com,example3.com,example4.com。

这很好用。

我现在需要有2个不同的(!)wordpress-installation。从外面我想:

example1.com -> No Blog
example2.com/blog/
example3.com -> No Blog
example4.com/blog/

服务器上的内部路径结构应如下所示:

/html/
/blog-for-server2/
/blog-for-server4/

因为否则/ html /中的内容管理系统搞砸了。实际上,这几乎就像为博客创建了独立的子域,并将它们指向服务器上的不同路径(但我不想使用子域)。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

假设您已经在Apache的 httpd-vhosts.conf 文件中创建了域,您可以在其中创建重定向,例如:

<VirtualHost *:80>
    ServerName example1.com
    DocumentRoot /home/servers/common_root/html

    RewriteEngine On
    RewriteRule ^/blog/? /blog-for-server-1
</VirtualHost>


<VirtualHost *:80>
    ServerName example2.com
    DocumentRoot /home/servers/common_root/html

    RewriteEngine On
    RewriteRule ^/blog/? /blog-for-server-2
</VirtualHost>

否则你可以在root .htaccess 中完成它,但它很麻烦:

RewriteEngine On

RewriteCond %{SERVER_NAME} =example1.com
RewriteRule ^blog /blog-for-server-1

RewriteCond %{SERVER_NAME} =example2.com
RewriteRule ^blog /blog-for-server-2