Python | WEBブラウザでindex.pyの省略urlを有効にする方法

2023-02-23Python 開発環境,Python

Python | WEBブラウザでindex.pyの省略urlを有効にする方法

現在利用しているPythonでのWEBブラウザアプリの開発環境はエックスサーバーですが、おそらく殆どのレンタルサーバーや独自サーバーであっても、index.htmlやindex.phpのよう省略urlでindex.pyが使える設定にはなっていないと思います。

ここで説明する省略urlは「https://xxxx.xx/index.py」ではなく「https://xxxx.xx/」で表示するということです。

これらを有効にする設定項目はDirectoryIndex(ディレクトリインデックス)というものになりますが、エックスサーバーではデフォルトドキュメントという名で優先順位と共に記載されています。

index.pyを省略したurlで表示できるように.htaccessファイルに追記する方法の紹介です。

index.pyを.htaccessで有効にする

.htaccessファイルに以下の2行を追記します。

1行目はcgiファイルとして.pyを使えるようにする指定ですので、既に有効にされている場合は不要です。

AddHandler cgi-script .py
DirectoryIndex index.py

ファイルが存在しない場合の優先順位としてindex.htmlやindex.phpを残して置く場合は、優先順位順に半角スペースで区切って追記していくことでindex.pyがない場合はindex.htmlを表示するーという風に設定可能です。

AddHandler cgi-script .py
DirectoryIndex index.py index.html index.php

※サンプルコードはPythonの作業用ディレクトリでの.htaccessなので1位にindex.pyを記述しています。
WordPressなどのトップディレクトリの.htaccessには記述しないで下さい。

リダイレクトなどの方法もありますが、今回はそもそもindex.pyを許可してしまおうという方法の紹介でした。

これで、PHPでいうところのindex.phpのようにindex.pyが使えてトップコンテンツなどで.pyファイルでHTMLを吐き出していても違和感なくなって良いですね。