2

我最近更改了我的一个网站的链接结构,需要进行 301 重定向:

所有带有子目录的链接都指向没有子目录的版本(即只是使子目录消失)

例如

domain.com/fdfddffd/test -> domain.com/test
domain.com/yipeee/test -> domain.com/test
domain.com/fdfddffd/aaa -> domain.com/aaa etc.

所以我考虑使用

RewriteRule  ^([^/]+)(.*)$     / [R]

但我需要从中排除两个目录,一个是“搜索”,另一个是“数据”。如何将上述重写规则与排除相结合?

4

1 回答 1

3

使用 aRewriteCond来排除这两个表达式,例如!^/(search|data)/

# Unless the request matches /search/ or /data/
RewriteCond %{REQUEST_URI} !^/(search|data)/
# Rewrite to the contents of the second group (.*)
RewriteRule  ^([^/]+)/(.*)$  /$2 [L,R=301]
于 2012-06-10T19:34:14.693 回答