2

Web サイトの URL を見ると、次のように表示されることがあります。

www.website.com/index.php

また、次のように表示される場合もあります

www.website.com/index/

2 番目の URL に .php または .html 拡張子が付いていないのはなぜですか?

4

1 に答える 1

6

通常構成の Web サーバーでは、

www.website.com/index.php

webroot ディレクトリから index.php ファイルをロードするように指示します。これ

www.website.com/index/

サーバーのhttpd.confファイルのDirectoryIndex構成ディレクティブまたはWeb サイトの webroot ディレクトリの.htaccessファイルにリストされているものと一致するファイルを/index/ディレクトリで探すように指示します ( http://httpd.apacheを参照)。詳細は.org/docs/2.2/mod/mod_dir.html#directoryindexを参照してください)。

サンプル構成ディレクティブは次のようになります。

DirectoryIndex index.php index.html default.html default.htm

これは、ファイル名が指定されていない場合、現在のディレクトリでindex.phpファイルを探し、見つからない場合はindex.htmlファイルを探し、見つからない場合はdefault.htmlファイルなどをWeb サーバーに指示します。ライン上の他のすべてのために。

末尾に.phpを付けなくても PHP ファイルを実行できるようにするには、構成ファイル (httpd.conf または .htaccess) に次のようなデフォルト ハンドラーを設定します。

ForceType application/x-httpd-php 

これにより、拡張子が.phpであるかどうかにかかわらず、すべてのファイルを PHP として処理するように Apache に指示します。( http://httpd.apache.org/docs/2.2/mod/core.html#forcetypeを参照)

必要に応じて、ModRewrite を使用して URL を再マップすることもできますが、ModRewrite ディレクティブは混乱を招き、トラブルシューティングが困難になる可能性があります。

于 2013-04-20T01:33:27.040 に答える