2017-11-17 5 views
1

サブディレクトリ/categories/stories//books/に書き換えたいとしますが、/categories/stories/horrorのような書き換えはしたくありません。彼らはhttp://bookstore.com/booksに行くが、http://bookstore.com/categories/stories/horror書き換えはありませんhtaccess特定のサブディレクトリについては書き換えますが、それ以下のサブディレクトリは書き換えません

RewriteCond ${REQUEST_URI} ^/categories/stories[/]? 
RewriteCond ${REQUEST_URI} !^/categories/stories/+[/]? 
RewriteRule ^(.*) /books/ [R=301,L] 

人は、たとえば、に行けば結果があること、http://bookstore.com/categories/stories:私は次のことをやっているが、効果がありません。

答えて

0

あなたは自分の正規表現パターンにアンカーを使用することができます。

RewriteEngine On 

RewriteCond %{REQUEST_URI} ^/categories/stories/?$ [NC] 
RewriteRule^/books/ [R=301,L] 

パターン^/categories/stories/?$/categories/stories//categories/storiesではなく/categories/stories/anythingにマッチします。

この変更をテストするには、ブラウザキャッシュをクリアするか、別のブラウザを使用してください。

+0

私はキャッシュをリセットして、以前このサイトを見たことのない別のブラウザを試しましたが、何も起こっていません... – dcp3450

+0

htaccessの最初のルールとしてこのルールを守ってください。また、 /categories/stories /が実際のディレクトリではないことを願っています。 – anubhava

+0

これは単なる例です。しかし構造は同じです。私はRewriteEngine onの後の最初のものとしてそれを持っていますが、ダイスはまだ反応しません。/ – dcp3450

関連する問題