flaskについての質問です。
シンレンタルサーバー(https://server.xfree.ne.jp/) というサーバーにflaskで作ったものを上げています。
index.htmlは表示されるのですが、loginというurlに変わってもindex.htmlが出てきます。
python
@app.route('/login') def Login(): return 'hello'
上記の部分がうまく動きません。
この部分が動くようにしたいです。
cgiかhtaccessのファイルが違うのかなと思っています。
ローカル環境で試した場合だとうまく動きました。
なにかわかることがあれば教えてください。お願い致します。
python
from flask import Flask, render_template app = Flask(__name__, static_folder='.', static_url_path='') @app.route('/') def index(): return render_template("index.html", image_path=url) @app.route('/login') def Login(): return 'hello' if __name__ == "__main__": app.run(port='0.0.0.0', debug=True)
index.cgi
#! /home/idname/anaconda3/bin/python from sys import path from wsgiref.handlers import CGIHandler from flask_sample import app import cgitb cgitb.enable() path.insert(0, '/サーバーの名前/portfolio/') class ProxyFix(object): def __init__(self, app): self.app = app def __call__(self, environ, start_response): # ※要書き換え environ['SERVER_NAME'] = "サーバーの名前" environ['SERVER_PORT'] = "80" environ['REQUEST_METHOD'] = "GET" environ['SCRIPT_NAME'] = "" environ['PATH_INFO'] = "/" environ['QUERY_STRING'] = "" environ['SERVER_PROTOCOL'] = "HTTP/1.1" return self.app(environ, start_response) if __name__ == '__main__': app.wsgi_app = ProxyFix(app.wsgi_app) CGIHandler().run(app)
htaccess
RewriteEngine On DirectoryIndex index.cgi RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /portfolio/index.cgi/$1 [QSA,L]
まだ回答がついていません
会員登録して回答してみよう