0

サブディレクトリ (cakeDomain) 内の共有ホスティングで CakePHP をセットアップしました。ルート ディレクトリ (mainDomain) で htaccess を使用して、次のように別のドメイン (cakeDomain) を指定しました。

# /.htaccess
# cakeDomain redirect rules
RedirectMatch 301 ^/cakeDomain/$ http://cakeDomain.com/
# handle domain root and skip subfolders
RewriteCond %{HTTP_HOST} cakeDomain.com
RewriteCond %{REQUEST_URI} !^/cakeDomain/
RewriteCond %{REQUEST_URI} \..+$
RewriteRule ^(.*)$ cakeDomain/$1 [L]

# add trailing slash to subfolders (eg abc to: abc/)
RewriteCond %{HTTP_HOST} cakeDomain.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} [^/]$
RewriteRule ^(.*)$ $1/ [L,R=301]

# handle files in subfolders
RewriteCond %{HTTP_HOST} cakeDomain.com
RewriteCond %{REQUEST_URI} !^/cakeDomain/
RewriteRule ^(.*)$ cakeDomain/$1/ [L]

RewriteCond %{HTTP_HOST} www.mainDomain.com/cakeDomain/
RewriteRule %{HTTP_HOST} www.cakeDomain.com [L]

mainDomain.com/cakeDomain にアクセスすると、cakeDomain.com に正しくリダイレ​​クトされます

CakePHP のファイルは次のように保存されます。

/cakeDomain/app/...
/cakeDomain/lib/...
/cakeDomain/...
etc.

CakeDomain.com にアクセスすると、正しいフロント ページが表示されますが、すべてのリンクにはインストール済みのディレクトリが先頭に追加されています。

cakeDomain.com/cakeDomain/controller/action/param1

それ以外の:

cakeDomain.com/controller/action/param1

これを修正する方法はありますか?

私の多くの検索から、多くの人がすぐに仮想ホストを提案しているように見えることに注意してください. これはここではオプションではありません。私のホスティング仮想ホストです。この解決策には、htaccess やルーティングのトリックが必要だと思います。あなたが提供できる助けを前もって感謝します。

4

1 に答える 1

1

基本的に、Web サイト A (メインドメイン) のパブリック Web ディレクトリ内に Web サイト B (Cake) を配置します。

この方法では、すべての「プライベート」CakePHP ディレクトリがパブリック Web ディレクトリ内にもあるためです (たとえば、cakeDomain/app/tmp/logs/error.log)。それらの場所が適切に保護されているかどうかを適切に確認してください

公開ウェブフットの「外部」のディレクトリにアクセスできますか?

そうは言っても、これは役立つかもしれません: http://cookingwithcakephp.blogspot.nl/2008/04/installing-cakephp-into-subdirectory.html

于 2013-02-02T21:18:10.407 に答える