- 締切済み
phpでURLマッピング(?)は可能ですか?
はじめまして。 PHPをはじめてからまだ数日です。 Servletを用いた場合、xmlの設定でURLとclassファイルの関連付けが出来ますが、PHPでもそのようなことは可能ですか。 要するに、スクリプト実行後に「http://localhost/~/xxx.php」のxxx.phpを表示しないあるいは別のものに変えたいのですが・・・ Apacheの設定で、.htmlで表示する(?)方法は見つけましたが、他にも無いでしょうか。 現在の環境は以下のようになっています。 開発PC:WinXP サーバ:Apache2.2.8 言語:PHP5.2.6 テンプレートエンジン:Smarty2.6.19 例 html <form action="Aaa" name="aaa"> xml <servlet> <servlet-name>Servlet</servlet-name> <servlet-class>MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet</servlet-name> <url-pattern>/Aaa</url-pattern> </servlet-mapping> 次画面でブラウザに表示されるURLは(仮に)「http://localhost/~/Aaa」 これはどちらかというとApacheの設定になるのでしょうか このようなことが出来るお勧めのフレームワーク、解決方法や身につける知識等御座いましたら、ご教授を宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- signal8
- ベストアンサー率0% (0/0)
どういった要件で必要とされているのかが、私には読み取れなかったので、回答がそれてしまっているかも しれませんが、「.html」で表示するとあったので、phpで稼働していることを表に出したくないと理解しました。 「.html」で表示するというのは、RewriteRuleを指していると思ったのですが、違いますかね? これだとあくまでいったん「.php」でアクセスすることになるかと思います。ということはブラウザで ソース(HTML)みれば、わかってしまうかと。 拡張子を変えてしまえば、要件を満たすのであれば、LoadModuleで使ってるならAddType、CGIで使ってるなら AddHandlerが使えるのでは?と思います。 ただ引き合いに出されているサーブレットマッピングは、何で動いているかを隠すのが目的じゃないと思うので 上記回答が全く外している可能性もありますが・・・。 #もしphpで動いていることを知られたくないというのが目的であれば、URLなど見た目だけ気にして、 #エラー発生時に露呈してしまうなど考慮不足のございませんように。