私のCentOS LAMPにあります。私はウェブサイトwww.mydomain.comを持っています。私のhttpd.confで私は持っています:Apacheのhttpd.confのエイリアスを使用してcakephp 3.0ディレクトリを指定するとエラー404が発生する
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/cakephp
ServerName www.mydomain.com
<Directory /var/www/cakephp/>
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
したがって、www.mydomain.comは/ var/www/cakephpから提供されます。
しかし、 "www.mydomain.com/powercontroller/"というURLが/ var/www/powercontrollerから提供されるようにしたいと思います。だから私はこのエイリアスもhttpd.confに入れています:
Alias /powercontroller/ "/var/www/powercontroller/"
<Directory "/var/www/powercontroller/">
AllowOverride All
</Directory>
しかし、これはうまくいきません。私のブラウザの "www.mydomian.com/powercontroller"というURLは私に404エラーを表示します。 "要求されたURL/var/www/powercontroller/webroot /がこのサーバに見つかりませんでした。"
私は/ var/www /のpowercontrollerディレクトリには、次があります。
の.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
のindex.php
require 'webroot' . DIRECTORY_SEPARATOR . 'index.php';
は、これらは、CakePHP 3.0セットアップからデフォルトのファイルです。そして確かにデフォルトのCakephp 3.0からすべての場所にWebrootディレクトリがあります。
少なくとも私はpowercontrollerディレクトリを探しているので、私はそこに途中でなければならないことを知っています。しかし何らかの理由でウェブルートが見つからないと主張しています。
webrootフォルダの 'httpd.conf'ポイントに直接ディレクトリを作成しないようにする説得力のある理由はありますか?私はそれがもっと典型的なセットアップだと思う。しかし、それは '/ var/www'があなたの結果のURLの一部であると思う理由を説明していません。何か他にあなたの設定や他の場所の '.htaccess'ファイルがあります。これは恐らく以前のテストの残ったもので、これが原因です。 –
これは、私がずっとずっとそれをしてきたことです。ドキュメントルートやエイリアスは、cakephp 3.0作曲家から得たディレクトリを指しています。そのディレクトリは.htaccessとindex.phpがウェブルートを指しています。私はそれらを私の質問に加えます。 –