0

我的htaccess样子如下:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^some-string/$ [NC]
RewriteRule ^some-string(.*)$ http://www.domain.com$1 [R=301,L]

所以来自 www.domain.com/some-string/xxx 的所有请求都应该被重定向到 www.domain.com/xxx (从子文件夹到主域)。现在我遇到的问题是一篇文章完全包含some-string他名字中的部分,例如 www.domain.com/some-string-is-here。结果是找不到文章。

我如何调整重定向?

4

1 回答 1

1

RewriteRule更具体一点应该会有所帮助;在这种情况下,RewriteCond没有必要。some-string/因为只有以(包括)开头的请求/应该被重写,所以将它附加/到规则对我来说是诀窍:

RewriteEngine On
RewriteBase /
RewriteRule ^some-string/(.*)$ http://www.domain.com/$1 [R=301,L]

如果您还想重写www.domain.com/some-string(并且只有 this 而不是www.domain.com/some-string-more),您可以尝试:

RewriteRule ^some-string(/.*)?$ http://www.domain.com$1 [R=301,L]
于 2013-02-13T20:19:43.580 回答