簡體   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