ここに来るのは初めてで、私は mod_rewrite と regex の初心者なので、何か見落としがあれば教えてください。ここや他の場所で一日中検索しましたが、必要なものが正確に見つかりませんでした.
次のことを実現する RewriteConds と RewriteRules のセットを探しています。
- URL に存在する場合は、www を削除します
- URL にまだ存在しない場合は、フォルダにリダイレクトします
- 残りの URL を保持する
特定のサブフォルダー (/webapp と呼びます) に Web アプリがインストールされており、URL に wwwを必要としないように構成されています。www. アプリを掘り下げて再プログラムすることはできますが、.htaccess と mod_rewrite を介してユーザーのためにそれを処理し、同時に入力を忘れた場合はそれらをフォルダーにダンプし、これらすべてを 301 リダイレクトで行いたいと思います。 .
たとえば、次のようなリクエストを希望します
http://www.mydomain.org/webapp/anything
http://www.mydomain.org/anything
http://mydomain.org/anything
リダイレクト先
http://mydomain.org/webapp/anything
そして明らかに、「正しい」URL (で始まるものhttp://mydomain.org/webapp/
) が要求された場合、それはまったく書き換えられません。
これまでの私の最良の推測は次のとおりです。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.mydomain\.org$ [NC]
RewriteRule ^(.*)$ http://mydomain.org/$1 [R=302]
RewriteCond %{REQUEST_URI} !^/webapp.*$ [NC]
RewriteRule ^(.*)$ http://mydomain.org/webapp/$1 [R=302]
http://htaccess.madewithlove.be/によると、これは機能しているように見えましたが、実際にはそれほどではありませんでした。
前もって感謝します。