サブディレクトリ (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 やルーティングのトリックが必要だと思います。あなたが提供できる助けを前もって感謝します。