質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

6992閲覧

URLのファイル名を省略させたい

earnest_gay

総合スコア615

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/12/29 08:52

編集2016/12/29 08:55

あるディレクトリにアクセスした際にファイル名のパスを省略できるのは
httpd.confファイルで
DirectoryIndex index.html index.html.var index.php index.php3 index.php4

などとしておけば省略できるのはわかるのですが、

例えばregister1.phpでアドレスとパスワードなどを入力後、次へを押すとregister2.phpへ遷移するようなページがあったとします。

http://localhost/dev/personal/web/game_package/create_account/register1.php

http://localhost/dev/personal/web/game_package/create_account/register2.php

実際のURLは上記のようなものになりますが、これを

http://localhost/dev/personal/web/game_package/create_account

http://localhost/dev/personal/web/game_package/create_account

と、ファイル名を省略した見え方にしたいのですがどうすれば良いでしょうか?

*追記

開発者には
http://localhost/dev/personal/web/game_package/create_account/register1.php

http://localhost/dev/personal/web/game_package/create_account/register2.php
という風にファイル名が見えて

一般ユーザーには
http://localhost/dev/personal/web/game_package/create_account

http://localhost/dev/personal/web/game_package/create_account
という風にファイル名が見えないようにしたいのです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

「あるURLがそのまま1つのPHPファイルに対応する」というやり方は入門こそしやすいですが,実用的に運用するには非常に苦しい方法です。今回のような要件を満たすためには

MVCについて質問です単純にphpのfunctionとhtmlを切り分ける場... - Yahoo!知恵袋

こちらで紹介している方法に切り替えていくべきです。何かしらMVCフレームワークは使いましょう。軽い入門用途ならSlim3,本格的に使うならLaravel5が良いと思います。

投稿2016/12/30 18:49

mpyw

総合スコア5223

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

なぜ、そのようにしたいかによりますが、 iframe の中でページを遷移させれば、アドレスバーには外側のページのURLしか見えないので、実現できるのではないでしょうか?

投稿2016/12/29 08:59

mit0223

総合スコア3401

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

create_account.phpを用意して、POSTでアクセスさせます。
その際にPOSTのパラメータで、type=register1や、type=register2
としておき、create_account.phpの中でtypeを判断して、どちらの
phpファイルをincludeするかの処理を記述する方法はいかがでしょうか?

create_account.phpの拡張子をなしでアクセスさせる方法は、Webサーバ側で設定可能です。
(参考)http://qiita.com/kimama1997/items/af3d76110e6c67a3d96f

投稿2016/12/29 09:07

_kato

総合スコア149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

earnest_gay

2016/12/29 09:21

ファイル名の省略というより create_account.phpの拡張子をなしでアクセスさせる方法 これでいけそうな気がしました。 なぜincludeの話が出てきているのかは分かりませんが、、、 やりたいことはファイル名の省略です。 内部では実際に http://localhost/dev/personal/web/game_package/create_account/register1.phphttp://localhost/dev/personal/web/game_package/create_account/register2.php の流れで遷移してますが、 見え方としては http://localhost/dev/personal/web/game_package/create_account/register1.php でも http://localhost/dev/personal/web/game_package/create_account/register2.php でも http://localhost/dev/personal/web/game_package/create_accountにしたいのです。
_kato

2016/12/29 11:46

create_account.phpの拡張子をなしでアクセスさせる方法ができたとしても、 create_accountが呼び出された際に、register1.phpの処理をするか、 register2.phpの処理をするかの判断が必要なのかと思い、POSTのパラメータで どちらの処理をするか判断する方法を書きましたが、意図が違っていたようでしたら 申し訳ありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問