###前提・実現したいこと
MAMP Ver3.5
macOS Sierra 10.12.4
cakephp 3
MAMPにてバーチャルホスト機能を用いた際のアクセス権を設定したいです.
###発生している問題・エラーメッセージ
MAMPのバーチャルホスト機能を用いて設定したところ,webroot以下にあるimagesフォルダにアクセスできなくなった.
httpd
1Listen 8001 2 3<VirtualHost *:8001> 4 DocumentRoot "/Users/USERNAME/php/PROJECTNAME" 5 <Directory "/Users/USERNAME/php/PROJECTNAME"> 6 AllowOverride All 7 </Directory> 8 ServerName php.home 9</VirtualHost>
webrootフォルダの構成
webroot
├ js
├ index.php
├ img
├ images
├ fonts
├ favicon.ico
└ css
cssなどは機能しているようなので,新しく自身で追加したimagesフォルダ内の画像ファイルにアクセスできていないものと思われます.
localhost:8888であれば正常に接続できています.
apache_error.logの内容
[Sat Apr 29 18:50:20 2017] [notice] Digest: generating secret for digest authentication ... [Sat Apr 29 18:50:20 2017] [notice] Digest: done [Sat Apr 29 18:50:20 2017] [notice] FastCGI: process manager initialized (pid 35185) [Sat Apr 29 18:50:21 2017] [notice] Apache/2.2.29 (Unix) mod_wsgi/3.5 Python/2.7.10 PHP/7.0.0 mod_ssl/2.2.29 OpenSSL/0.9.8zh DAV/2 mod_fastcgi/2.4.6 mod_perl/2.0.9 Perl/v5.22.0 configured -- resuming normal operations
追記
アクセスできていないのではなく,パスが間違っていたようでした.
もともとは
<?= $this->Html->image("load.png", ["class"=>"lazy", "data-original"=>"/PROJECTNAME/img/../images/". $image->path, "alt" => $image->name, "width"=>"200"])?>
と設定していてうまく行っていたのですが,バーチャルホストを設定するとこのパスが通らなくなっていました.
以下のようにすると正常にアクセスできました.
<?= $this->Html->image("load.png", ["class"=>"lazy", "data-original"=>"../images/". $image->path, "alt" => $image->name, "width"=>"200"])?>
バーチャルホストに設定するとパスの読み込み方法が変わるのでしょうか?
あなたの回答
tips
プレビュー