xamppをインストールして「パーフェクトphp」という本を読み進めながらphpの勉強をしています。今やっているところは「簡単なフレームワークを作ってphpフレームワークの仕組みを学ぼう」というところなのですが、フレームワークのフロントコントローラの部分ができません。(OSはWindows10)
ドキュメントルート→C:\xampp\htdocs\miniblog.localhost\web
mini-blog.localhostディレクトリにcontrollersディレクトリ・coreディレクトリ・modelsディレクトリなどこのアプリケーションに関するすべてのファイル・ディレクトリを置いている。
webディレクトリ内に.htaccessファイルを置く。.htaccessファイルの中身は以下(本に書いてある通り)。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] </IfModule>
次にwebディレクトリ内にindex.phpを作成。
次にC:\xampp\apache\conf\extraa\httpd-vhosts.confファイルを開き一番下に以下のコードを追加。
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/mini-blog.localhost/web" ServerName mini-blog.localhost DirectoryIndex index.php index.html <Directory "C:/xampp/htdocs/mini-blog.localhost/web"> AllowOverride All Allow from All </Directory> </VirtualHost>
次にC:\Windows\System32\drivers\etc\hostsファイルを開き一番下に次の行を追加。
127.0.0.1 mini-blog.localhost
これで、指定されたファイルが存在する場合はそのファイルを読み込み、存在しなければどんなURLであろうとすべてindex.phpにアクセスする、と説明されています。
上記設定以外のこのアプリケーションに必要なファイルはダウンロードサービスで取得できるのでそれを使い実際試した結果、
http://mini-blog.localhost/でアクセスした場合、正常に表示される。
http://mini-blog.localhost/index.phpでアクセスした場合、正常に表示される。
http://mini-blog.localhost/aaa.phpでアクセスした場合、「Web ページが見つかりません(HTTP 404) 」のエラー表示。
となります(aaa.phpというファイルは存在しない)。
そもそもどうなったら正常なのかがよくわからないのですが、これって本に書いてある意図通り動いているのでしょうか?説明を読むと、aaa.phpなど存在しないファイル・ディレクトリ名でアクセスされた場合index.phpにアクセスするように読めるのですが、そういうことではないのでしょうか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/05 11:48
2015/11/07 05:51