我的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。结果是找不到文章。
如何调整重定向?
答案 0 :(得分:1)
使RewriteRule
更具体一点应该有所帮助;在这种情况下,RewriteCond
不是必需的。由于只应重写以some-string/
开头的请求(包括/
),因此将/
附加到规则对我来说非常有用:
RewriteEngine On
RewriteBase /
RewriteRule ^some-string/(.*)$ http://www.domain.com/$1 [R=301,L]
如果您还想重写www.domain.com/some-string
(仅限此而不是www.domain.com/some-string-more
),您可以尝试重写:
RewriteRule ^some-string(/.*)?$ http://www.domain.com$1 [R=301,L]