codeigniter ベースの Web サイトを作成していますが、問題があります。
このhtaccessできれいなURLを使用します:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
すべて正常に動作しますが、次のようなすべての URL をリダイレクトしたいと思います: - site.com/reg - site.com/faq - など TO: - site.com/it/reg - site.com/it/faq - など
これを何度も試みましたが、environment_status を rewritecond として使用しただけの結果が表示されましたが、site.com/reg などの URL をリダイレクトせずに、site.com のみを site.com/it にリダイレクトしました。
rewritecond として environment_status がないと、常に無限のリダイレクト ループが発生します。解決策はありますか?
編集:で動作します
RewriteRule ^(reg|faq)/?$ /it/$1 [L,NC,R]
しかし、上記のような「ホワイトリスト」を使用せず、リダイレクトループなしで、すべての request_uri の前に /it/ を置く方法はありますか? (私は .* を入れてみましたが、ループがあります)?
解決済み:
RewriteRule !^(it|index\.php) /it%{REQUEST_URI} [L,R]
解決策をありがとう: