0

ファイル名を含まないすべてのリンク(.html、.jpg、.png、.cssを除く)は、状態301でディレクトリにリダイレクトされます(例: http: //mysite.com/article- > http:// mysite)。 com / article / しかし、http://mysite.com/article/article-15.htmlはリダイレクトしません。仮想ディレクトリにスラッシュを追加するために.htaccessに書き込む必要のある規則式は何ですか?

4

3 に答える 3

2

私は次のことがうまくいくと思います:

RewriteEngine on   
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

mod_rewriteに関しては、テストしないと確信が持てません...

于 2008-09-17T10:19:52.130 に答える
1

必要な説明:

与えられたURL: http:// server / path / file

http:// server / path /にリダイレクトされますか?

または、次の場所にリダイレクトされますか: http:// server / path / file /

次のように:リダイレクトを親パスに移動しますか、それともスラッシュを追加して現在のパスからディレクトリを想定しますか?

于 2008-09-17T10:02:38.113 に答える
0

上記の MB の RewriteRule は/a、スラッシュの後の少なくとも 2 文字と一致する必要があるため、 のようなパスでは失敗します。さらに、上位のディレクトリ URL にのみ一致します。

RewriteRule ^(([^\/]+\/)*[^\/\.]+)$ http://%{HTTP_HOST}/$1/ [R=301,L]

これの目的は、履歴汚染/偽陰性を減らすことですか?

于 2008-10-10T23:03:44.570 に答える