繁体   English   中英

htaccess:如果网址是www.domain.com/some-string/xxx,而不是www.domain.com/some-string-is-here,则重写

[英]htaccess: Rewrite if url is www.domain.com/some-string/xxx but not www.domain.com/some-string-is-here

我的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。 结果是找不到该文章。

我如何适应重定向?

使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]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM