0

私はcakePHPで作成されたサイトを持っており、次のようなサイトにアクセスします。

http://example.com/site1

これは次のように変換されます。

http://example.com/app/webroot/site1

ここで検索して見た、またはスタックオーバーフローでここを検索したので、これは正常な動作ですが、ユーザーには実際にはapp/webrootビットが表示されないようにしたいと思います。

それは可能ですか?

これが私の現在の.htaccessです:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
   RewriteCond %{HTTP_HOST} !^$
   RewriteRule ^/?(.*) http://www.example.com/$1 [R=301,NE,L]

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

ありがとうございました

4

1 に答える 1

2

CakePHPをインストールするためのすべての指示に従った場合、URLなしでも /app/webroot機能するはずです。.htaccess動作しない場合は、CakePHPリポジトリからすべてのファイルを再ダウンロードします。3つのファイルがあります。

を取り除くために/app/webroot、つまりどのURLでもそのパスが表示されないようにするには、Webルートの絶対パスを指すようにを編集または作成しますVirtualHostDocumentRoot

このようなもの:

<VirtualHost 127.0.0.2:80>
    DocumentRoot /absolute/path-to/app/webroot
</VirtualHost>

共有サーバーを使用している場合、これは不可能です。管理対象VPSまたは専用サーバーを使用している場合は、ホスティングに連絡する必要があります。管理されていない場合は、自分で行うことができます。

于 2012-09-09T13:56:40.893 に答える