0

Web サーバーで CakePHP アプリを使用していますが、サブドメインで WIP joomla を使用したいと考えています。また、サブドメインを処理する Web ホスティングの方法が原因で、htaccess に適切な条件を記述して機能させることができません。デフォルトでは、私の CakePHP アプリはサーバーの /www fodler にあり、その htacces は次のようになります。

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteBase /
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

サブドメインを処理する私の Web ホスティング プロバイダーの方法は、必要なサブドメインとして名前が付けられた /www のサブフォルダー内にフォルダーを作成し、それにリダイレクトすることです。

したがって、サブドメイン joomla.mydomain.com を作成する場合は、フォルダー /www/subdom/joomlaを作成し、適切な条件とルールを htaccess に追加する必要があります。

# subdomains(with or without www in the begenning)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]

しかし、これを htaccess に追加すると、cakePHP は以前と同じように動作しますが、joomla サブドメインにアクセスすると Internal Server Error がスローされます。ただし、最後の書き換えルールをコメントアウトすると

   #RewriteRule    ^$ app/webroot/    [L]
   #RewriteRule    (.*) app/webroot/$1 [L]

サブドメインが正常に機能し始めます。

4

1 に答える 1

0

ここで CakePHP 内の他のアプリの使用に関するブログ投稿を書きました

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteRule (some_folder/.*) $1 [L] # adjust the regex to what you want.

    # normal cake rules
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
 </IfModule>
于 2013-11-01T14:16:35.140 に答える