前提
テンプレートエンジンにSmartyを用いたPHPプロジェクトの改修を行っています。
既に本番公開されている現状ソースコードをもらったのですが、うまくページが表示されません。
具体的には、トップの /
にはアクセスできますが、下層ページ /hoge/
にアクセスができません(レンダリングされません)
ディレクトリ構造は下記のような形です。
plain
1index.php // ここで templates/index.html をレンダリング ($smarty->display("index.html")) 2templates 3└ index.html // 表示される 4└ hoge // 表示されない 5 └ index.html
質問
どうすれば下層ページの /hoge/
が表示されるのでしょうか?
また、そもそもの質問で申し訳ないのですが、 /hoge/
にアクセスした際はどのphpが実行されるのでしょうか。
試したこと
/hoge.php
を作成してそこで、templates/hoge/index.html
に対してのレンダリング処理 ($smarty->display("hoge/index.html")
) を記述してみました。
が、そもそも/hoge/
にアクセスしたときにhoge.php
が読まれないので、404エラーは変わらずでした(当然ですが、、)
考えられる原因
- もらった現状コードが古い
=> 本番環境では表示されているので、上がっているコードとは違う古いコードとかを共有された可能性
- 環境の問題
=> 本番とは異なる環境になるので、そこで引っかかっている可能性
- ケアレスミス
=> なにかしらの凡ミスの可能性
エラーメッセージ
/hoge/
アクセス時↓
plain
1Not Found 2The requested URL /hoge/ was not found on this server.
開発環境
plain
1テンプレートエンジン : Smarty 2MAMP (v5.3) 3 └ PHP (v5.6.40) 4 └ MySQL (v5.7.25) 5 └ Webサーバー : Apache