1

tinycms アプリケーションがありますが、すべてのトラフィックをドキュメント ルートに転送するにはどうすればよいですか?

例:

http://<IP-address>/ADFADSF/adsfadsf --> /
http://domain.com/adsf --> /

現在、私はこれを.htaccessに持っています

<Files .htaccess>
order allow,deny
deny from all
</Files>
Options +FollowSymLinks
RewriteRule admin/$ index.php?view=admin [QSA]
Options -Indexes

ありがとう。ジェームズ

4

1 に答える 1

0

mod_rewriteの使用:

RewriteRule ^/?.+$ / [L,R]

mod_aliasの使用:

RedirectMatch ^/.+ /

もちろん、これによりRewriteRule admin/$ index.php?view=admin [QSA]ルールが役に立たなくなるか、少なくともいくつかの競合が発生します。したがって、その除外をコメント化するか、を除くすべてのトラフィックadmin/がリダイレクトされる特別な例外を作成する必要があります。


編集:

admin /以外のルールを作成するためにどのようにそれを行うのですか?

これを行う1つの方法があります、私はこれがあなたが望む振る舞いであると推測しているだけです。このようなものは変わりません、それはそれがそうであるように大丈夫です:

<Files .htaccess>
order allow,deny
deny from all
</Files>
Options +FollowSymLinks -Indexes

追加:

RewriteEngine On

それで:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/(index\.php|admin)
RewriteRule ^/?.+$ / [L,R]

RewriteRule admin/$ index.php?view=admin [QSA,L]

したがって、これらすべてをまとめると、.htaccessファイルへのアクセスは拒否されます。次に、、次に書き換えルールがあります。RewriteEngineをオンにしてから、またはでないリクエストをリダイレクトしてから、内部でにリライトする必要があります。Options/index.php/admin /admin/index.php

于 2012-10-01T08:31:22.380 に答える