首页 > 解决方案 > 将子域重写到文件夹后避免内容重复

问题描述

我在我的 中定义了以下规则,.htaccess我不久前在另一个线程中找到了这些规则(我不记得是哪一个):

RewriteCond %{HTTP_HOST} ^sub\.domain\.com$
RewriteRule ^((?!sub/).*)$ /sub/$1 [L]

目标是显示任何内容,domain.com/sub就好像它来自sub.domain.com. 这工作正常。

但是,有一个小警告:sub.domain.com并且sub.domain.com/sub两者都在工作。

如何防止sub.domain.com/sub被访问?我尝试将其重写/重定向到,sub.domain.com但当然,我最终得到了一个无限循环重定向。

标签: apache.htaccesssubdomain

解决方案


在里面有你的第一条规则sub/.htaccess

RewriteEngine On

# remove /sub/ from URIs
RewriteCond %{THE_REQUEST} \s/+sub/(\S*)\s
RewriteRule . /%1 [L,NE,R=301]

将有问题的规则留在站点根目录 .htaccess 中。


推荐阅读