0

私はhtaccessがあまり得意ではないので、私を殺している考えがありました。

私はURLを持っていhttp://(www./non-www.)example.com/dir/page/fileます。しかし、これをディレクトリにリダイレクトしたいroot/release/.../dir/page/file

そう

root/.htaccess
root/release/1.0/...
root/release/1.5/...
root/release/2.0/...
root/admin/1.0/...
root/admin/1.5/...
root/admin/2.0/...
etc

そして、彼らがあなたをブラウズしexample.com/adminたら、に行きますexample.com/admin/2.0release/versionしかし、難しいのは、example.com / または example.com/admin/versionを見られたくないということです。

または、ホストされている 2 つのバージョンrelease/stablerelease/beta.

それが誰かにとって意味があることを願っています、ありがとう

4

1 に答える 1

0

example.com/adminにメタリダイレクトするようなページを作成するのが最も簡単なようにexample.com/admin/2.0思えます。次に、mod-rewrite を実行して一般的な URL に戻ります。バージョンを増やしたら、メタ リフレッシュを変更するだけです。.htaccess mod-rewrite には、バージョン番号付けシステムに一致する正規表現が含まれるためです。

例:

まずexample.com/adminファイルに対して、ヘッダーにメタリフレッシュを実装します。

<meta http-equiv="refresh" content="0;URL='example.com/admin/2.0'">

次に、2.0 (または任意のバージョン) から目的の場所に書き直します。

#first, we need to define the request, in this case, admin/any number
RewriteCond %{THE_REQUEST} /admin/([0-9]*)
# now we need to make it look like it's just the plain admin page
RewriteRule ^$ /admin [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin /admin/([0-9]*) [L]

正規表現の一致を修正して 2 "ポイント" 0 にする必要があります

于 2013-02-24T12:51:27.760 に答える