
Apache + PHPのサイトで、PHPファイルの拡張子を
表示させない設定について質問です。
例えば、list.php や news.php にアクセスする
時に
http://xxx.com/list?year=2004
http://xxx.com/news?no=15
のように使えるようにしたいと考えています。
いくつか調べてみたのですが、どうやら、
.htaccess ファイル内に
Options +MultiViews
を書き込んだりするらしい、というところまでは
なんとか分かったのですが、具体的な設定記述を
書いている情報にたどりつけませんでした。
どなたかご存知の方がいましたら、教えていただ
けませんでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
興味を持って調べた矢先、Googleで「.htaccess」「拡張子無し」でズバリの回答が一発でヒットしました^^;)。
実験していないのでどのバージョンでもうまくいくのかは不明です。
参考URL:http://iwamode.com/etc/urawaza.html
この回答への補足
情報ありがとうございます。
参考URL確認させていただきました。
とりあえず、拡張子を見せない、という目的は達成
できそうですが、この方法で拡張子を見せなくする
ためには、既存のPHPファイルの拡張子をすべて変更
する必要があり、更にはPHPファイル内のURLまで変更
しなければなりません。大量です(涙)。
さらに、対外的にリンクしてもらっていたPHPファイル
へのリンクが切れてしまいます。
できれば、PHP拡張子付きのままで隠す方法があり
ませんでしょうか?
yatokesaさん、ありがとうございました。
今回、イメージしていたものとぴったりくるものは出来ないようですが、yatokesaさんから教えていただいた方法が、一番それに近いことを実現できそうです。
また機会がありましたらよろしくお願いします。
No.4
- 回答日時:
>できれば、PHP拡張子付きのままで隠す方法がありませんでしょうか?
AliasMatchを使えば可能です。
(ただし、以下の例の場合、画像ファイル等もphpと見なします。)
AliasMatch "/path/to/php/(.+)" "/path/to/php/$1.php"
参考URL:http://httpd.apache.org/docs-2.0/ja/mod/mod_alia …
ありがとうございます。
AliasMatch ですね。参考URLを読んでみたのですが、まだ理解できていないので、他の情報とあわせて調べて見ます。
No.3
- 回答日時:
>できれば、PHP拡張子付きのままで隠す方法がありませんでしょうか?
apache側で拡張子を補完してということですよね。これはちょっと無理だと思います、私の知る限り...。
ErrorDocument 404 /redirect.php
の様に、例えば http://xxx.com/news?no=15 という存在しないファイルへのアクセスを redirect.phpというプログラムで受けて news.phpへ QUERY_STRINGSと共に渡すことはできるかもしれません。
前後しますが、
>更にはPHPファイル内のURLまで変更しなければなりません。大量です(涙)。
これは sedなどで一括置換で、
>対外的にリンクしてもらっていたPHPファイルへのリンクが切れてしまいます。
に関しても先の error documentの機能を使ってリダイレクトでという事も可能かと思います。
No.1
- 回答日時:
.htaccessを使う方法ではないですが…
Apacheの設定ファイル httpd.conf の
AddTypeの記述でPHPを実行可能にしている部分ですが
AddType application/x-httpd-php .php
こんな感じにしていますか?
これを例えば以下のように
AddType application/x-httpd-php .php .html .htm
と書いておくと、PHPのファイルを *.htmlや*.htm などの拡張子で保存しておいてもPHPが実行されるはずです。
こうしておけば、URLにも.phpとしなくてもOKじゃないでしょうか?
この回答への補足
情報ありがとうございます。
先日、その方法も見つけました。しかし、その方法
だと、
http://xxx.com/list.html?year=2004
http://xxx.com/news.html?no=15
となり、HTML拡張子が付いてしまうんですよね。
今回やりたいのは、拡張子PHPをHTMLへ偽装(?)
ではなく、拡張子全般の隠蔽、といったところで
しょうか。
回答ありがとうございました。
私がさがしていた方法とは違いましたが、chuparkさんから教えていただいた方法が、正攻法みたいですね。
別の機会に参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- WordPress(ワードプレス) wordpressでphpを読み込みたい 1 2022/10/30 23:40
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- Windows 10 指定したファイルを任意の範囲のディレクトリ内に上書き保存したい 1 2022/11/24 10:42
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
phpとpostgreSQLで接続不可?
-
include先でのinclude元の変数...
-
phpのソースコードが、そのまま...
-
PHPの拡張子を見せない方法
-
PHPのif文でその処理を途中で抜...
-
【file_exists】ファイルが存在...
-
「クラス関数」「メンバ関数」...
-
glob関数で日本語文字が取得で...
-
VB6.0とBASP21を用いてyahooメ...
-
URLの変わらないページをPHPで...
-
FTPClientで転送結果(OKかFAIL)
-
PHPの設定で、 エラーが発生し...
-
VB6にてメールを送信する方法
-
WinXP PHP5 Apache2 初期設定で...
-
DLL のロードの順序
-
LoadLibraryの戻り値(HMODULE)...
-
ボタンのクリック数を合計保存...
-
別サーバのプログラムを起動
-
値の受け渡しが出来ない。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
別PHPファイルに変数を渡す
-
include先でのinclude元の変数...
-
PHPから別なPHPへ移動(?)する方法
-
crontabでPHPスクリプトが実行...
-
シェルスクリプトからphpファイ...
-
連続投稿対策
-
PHPの拡張子を見せない方法
-
cgi-binでPHP動作しない
-
PerlからPHPの呼び出しについて
-
FPDFでPDFファイルが表示されない
-
PHP PEARパッケージのincludeが...
-
インクルードファイルからの相...
-
他人にphpファイルをダウンロー...
-
fputcsvで保存せず、そのまま出...
-
php.iniがない
-
Ruby URLの分解方法
-
入力フォームの空白や改行を制...
-
#!/usr/local/bin/phpはどこに...
-
PHPでURL後のパラーメータの取...
おすすめ情報