0

たとえばhttp://myweb.comというWebサイトがあり、ルートディレクトリhttp://myweb.com/subfolder/のサブフォルダに移行したいとします。

私は次のものが必要です、私はhtaccessファイルを使用していると思います:

1)www以外のすべてのファイルをwwwにリダイレクトします。2)ルート内のすべてのファイルをサブフォルダー内の同等のファイルにリダイレクトすると同時に、すべてのhtm拡張子をhtmlに変更します。つまり、ルートfile.htm内のファイルをファイルに書き換える必要があります。 subfolder / file.htmlのようなサブフォルダー内3)アドレスにwww.myweb.com/subfolderではなくwww.myweb.comが引き続き表示されるようにしたい

それはすべて可能ですか?そしてどうやって?答えてくれてありがとう

4

1 に答える 1

1

ドキュメントルートのhtaccessに次のルールを追加します。

RewriteEngine On

# 1) Redirect all non-www to www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]

# 2) Redirect all files in the root to equivalent files in the subfolder
#    at the same time changing all htm extension to html
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteRule ^(.*)\.htm$ /subfolder/$1.html [L]
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteRule ^(.*)$ /subfolder/$1 [L]

最後のルールにはRフラグがないため、外部リダイレクトは発生しません(したがって、ブラウザーのURLアドレスバーの内容が変更されます)。

于 2012-11-14T08:19:18.920 に答える