バックグラウンド
にあるCakePHPアプリケーションがあります/m/
。.htaccess
サイトの「サブドメイン」をパラメーターとしてアクションにリダイレクトするルートレベルのファイルを作成したいと考えています。
例: このようなリダイレクトになる書き換えルールを書きたいと思います -
http://mysite.myserver.com
→http://myserver.com/m/mysite/
http://mysite.myserver.com/home
→http://myserver.com/m/mysite/home
http://mysite.myserver.com/foo/bar?baz=true
→http://myserver.com/m/mysite/foo/bar?baz=true
理想的には、このリダイレクトはユーザーに見えないようにする必要があります (URL を変更したくないので、301 を使用したくありません)。
これが私の現在の試みです:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.myserver\.com$ [NC]
RewriteRule ^(.*)$ http://myserver.com/m/%1/$1 [L]
</IfModule>
私が知る限り、主な問題は次の$_SERVER['REQUEST_URI']
とおりです。
http://myserver.com/m/mysite/home
直接参照すると、$_SERVER['REQUEST_URI'] = /m/mysite/home
.- 上記のファイルを
http://mysite.myserver.com/home
使用して参照すると、 ..htaccess
$_SERVER['REQUEST_URI'] = /home
問題
の問題が原因で、ルートが正しく解析されません。目的の場所ではなく$_SERVER['REQUEST_URI']
、ユーザーを に誘導しようとしています。/home
/m/mysite/home
これが正しく機能するように書き換えルールを変更するにはどうすればよいですか? これを達成する別の方法はありますか?