重写除一个目录之外的所有目录的规则(递归)

重写除一个目录之外的所有目录的规则(递归)

我们需要将站点的子目录重写到其自己的主机,但有一个目录除外。我们还需要确保在重写过程中删除原始子目录。(使用 hppts 而不是 https,因为否则站点会对链接数量感到不满。)

此外,在重写规则和 Apache 方面,我的级别低于新手,所以请相应对待我。

设想:

我们有一个主站点,其中有一个子目录需要重写到其自己的主机。

hppts://www.site.com/product需要重写为hppts://www.product.com

但是,我们希望递归地保留一个目录。因此:

hppts://www.site.com/product/dir1/dir2/dir3需要继续工作而不被重写www.product.com。我花了好长时间才弄清楚如何做到这一点。所以基本上我正在寻找一种方法来进行某种排除。

另外,我该如何重写才能写入原始查询,但删除条件所基于的子目录。也就是说,当我对此进行我认为适当的重写时:

hppts://www.site.com/product/dir5它会被重写为hppts://www.product.com/product/dir5而不是hppts://www.product.com/dir5

这家伙尝试的规则是:

RewriteEngine on
RewriteCond %{REQUEST_URI}!^/dir1/
RewriteRule (.*) hppts://www.product.com/$1 [R=301,L]

但无论我们怎样努力,都会有回报hppts://www.product.com/product/%whatever the query was%/

任何帮助都将受到赞赏。

相关内容