0

この mod-rewrite ルールを使用して、サイトのホームページだけを同じサイトの /it/ サブディレクトリにリダイレクトしています。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RedirectMatch 301 ^/$ http://www.example.com/it/

ただし、この URL のリダイレクトを免除したい

http://www.example.com/?act=25

これを行うための免除条件を書くにはどうすればよいですか?

4

1 に答える 1

0

解決策を見つけた

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{QUERY_STRING} !^act=(.*)$ [NC]
RewriteRule ^$ http://www.example.com/it/

ああ、RewriteCond は、あなたが知らなかった場合に備えて RedirectMatch では機能しません (私は知らなかったので、何時間も無駄にしました)。

于 2013-05-21T10:29:18.117 に答える