1



私は複数のドメイン拡張子を持っているため、元の拡張子をクエリパラメーターとして設定して、URL を .com に書き換える mod_rewrite を作成しました。

    RewriteCond %{HTTP_HOST} ^api\.example\.(co\.)?(.*)$
    RewriteCond %{HTTP_HOST} !^api\.example\.com$
    RewriteRule ^(.*)$ http://api.example.com/$1?l=%2 [QSA,R]

これは正常に動作します。私の問題は、内部リダイレクトを常にする必要があることapi.example.com/index.phpです。たとえば、次のようになります

api.example.fr/v1/users =>
(ext) api.example.com/v1/users/?l=fr
(int) api.example.com/index.php


4

1 に答える 1

1

とが同じであると仮定DOCUMENT_ROOTします。api.example.frapi.example.com

次のようなコードを作成できます。

RewriteCond %{HTTP_HOST} ^api\.example\.(co\.)?(.*)$
RewriteCond %{HTTP_HOST} !^api\.example\.com$
RewriteRule ^(.*)$ http://api.example.com/$1?l=%2 [QSA,R,L]

# add missing /v1/ if needed
RewriteCond $1 !=index.php
RewriteRule ^((?!v1/).*)$ /v1/$1 [R,L,NC]

RewriteCond %{HTTP_HOST} ^api\.example\.com$    
RewriteRule ^(?!index\.php) /index.php [L,NC]
于 2013-09-24T22:01:39.267 に答える