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