共用サーバーを利用している為、Apacheを触ることが出来ない為、.htaccessファイルに以下のように記述し設定をしています。
<Files *.php>
ForceType application/x-httpd-php
</Files>
この設定では、「index」「index.php」どちらもアクセスするとPHPが動作してしまいます。
「index」は動作させて「index.php」は動作させないようにすることは可能でしょうか?
もし可能であれば、方法を教えていただけないでしょうか?
ちなみに、php.iniは触ることができます。
No.1
- 回答日時:
>> 「index.php」は動作させないようにすることは可能でしょうか?
いろいろな方法が考えられますが、
案1.不要なファイル(今回はindex.php)を削除する。もっとも確実でサーバーにも負荷にならない方法です。
案2..htaxxessで制限する
<Files ~ "\.php$">
deny from all
</Files>
案3.rewriteでエラーページに誘導する
など
この回答への補足
mpxさん、説明不足ですみませんでした。
index.phpにはphpプログラムを記述しています。
ブラウザのアドレスで
http://www.***.com/index にアクセスでPHPを動作させる。
http://www.***.com/index.php にアクセスはページが無いみたいに
出来ないのかなぁと思いまして・・・
No.2
- 回答日時:
希望する動作が今ひとつ掴めませんが、
http://www.***.com/index
は
http://www.***.com/index/
と等価なので、/index/index.php にファイルを置けばいいのでは…。
/index.php にファイルを置かなければ、404 NotFound になります。
この回答への補足
例えば
http://www.***.com/index?aaa=1&bbb=2 ←動作する
http://www.***.com/index.php?aaa=1&bbb=2 ←動作しない
にするとPHPで書かれてることが分からないようになるかなと思いまして・・・
No.3
- 回答日時:
.htaccess でしたいなら これでいいんじゃないの?
RewriteEngine on
#ファイル又はディレクトリがある場合は無効にする
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#○○○.jp/hogehoge で動かす場合
RewriteBase /hogehoge
#来るものはindexに飛ばす
RewriteRule !.(js|ico|gif|jpg|png|css)$ index.php
No.4
- 回答日時:
#2です。
> PHPで書かれてることが分からないようになるかなと思いまして・・・
#1さんの紹介されている mod_rewrite ではダメな理由が何かあるのでしょうか?
Google検索: php 拡張子 mod_rewrite
http://www.google.co.jp/search?q=php+%E6%8B%A1%E …
mod_rewriteは .htaccess で指定できるので、質問者さんの環境で実現可能だと思います。
No.5ベストアンサー
- 回答日時:
何度か試行錯誤しました。
結論としては、DefaultTypeを変更するのが簡単かつスマートだと思います。
* コンテントネゴシエーション(Options +Multiviews)で拡張子無しのファイルをphpスクリプトとして実行させる
foo.php がないと動作せず、foo.php でも foo でもアクセスできてしまいます。
RewriteCond(%{REQUEST_URI})で拒否する手は有りそうですが、ちょっと面倒ですね。
----- .htaccessの記述 -----
Options +Multiviews
DirectoryIndex index
MultiviewsMatch Handlers
---------------------------
Multiviewsのススメ
http://blog.fuktommy.com/1216313223
* DefaultTypeを変更して、拡張子無しのファイルをphpスクリプトとして実行させる
foo.php を foo にリネームして期待通りの結果を得られました。
----- .htaccessの記述 -----
DefaultType application/x-httpd-php
---------------------------
No.6
- 回答日時:
#2,4,5 です。
今更ですが、気になったことが。
> http://www.***.com/index?aaa=1&bbb=2 ←動作する
> にするとPHPで書かれてることが分からないようになるかなと思いまして・・・
クエリを投げているので、動的処理が行われていることはわかります。
質問自体を覆すようですが、「PHPで書かれてることが分からないようにする」目的は何なのでしょうか?
目的がSEO対策だとしたら、mod_rewriteでクエリ自体をURLに埋め込むのが一般的かな、と思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- WordPress(ワードプレス) httpからhttpsへのリダイレクト設定について 2 2022/04/17 09:49
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- HTML・CSS インクルードした要素がヘッダーにかぶってしまう 3 2022/09/13 17:35
- Windows 10 指定したファイルを任意の範囲のディレクトリ内に上書き保存したい 1 2022/11/24 10:42
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CakePHPの表示エラーについて
-
index.phpに入るには、どうすれ...
-
こちらはただの直列処理ですか?
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
form actionで二つ送信先を指定...
-
シェルスクリプトからphpファイ...
-
FTPコマンドでディレクトリごと...
-
PHPのif文でその処理を途中で抜...
-
存在しないメールアドレスかど...
-
.htaccessにphp_valueが使用できな
-
PHP8を使うと、大量のWarningが...
-
PHPでfatal errorが出ても無視...
-
アップロード画像数でCSSを分け...
-
Apacheでhttp://localhost/が表...
-
別ファイルの変数を呼び出した...
-
FORMで送信ボタンと戻るボタン...
-
sqlで日付が一番古いデータの月...
-
php5のrename()は日本語をリネ...
-
ワードプレスサイト PHP8.0.25...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
index.phpに入るには、どうすれ...
-
.htaccessファイルの修正がこれ...
-
PHPでグローバルナビゲーション...
-
CakePHPの表示エラーについて
-
深い階層のフォルダの作成や削...
-
特定のディレクトリだけ、phpを...
-
PHP Linux から Windowsへの移行
-
include_pathに関する質問
-
すべてのページのurlをindex.ph...
-
SSLに設置したらディレクトリパ...
-
zendのcontrollersについて
-
[PHP] 任意のDNSでIPアドレスを...
-
require_onceで読み込む場合、...
-
相対パスでrequireはできないの...
-
$_GET 取得できない
-
さくらにsmartyをセットアップする
-
php拡張子を無くす
-
ログインした状態の外部phpファ...
-
万国博覧会
-
フリーペーパーR25が置いて...
おすすめ情報