0

ユーザーが入力したアドレスに基づいて、動的に URL にリダイレクトする Web アプリケーションを作成したいと考えています。ユーザーが次のようなアドレスで私のサイトにアクセスした場合:

http://mydomain1.com/a1b2c3d4

このユーザーを URL にリダイレクトしたい:

http://mydomain2.com/register.php?id=a1b2c3d4&from=mydomain1.com
4

4 に答える 4

6

ええ、私は良い戦いが大好きです!

from pyramid.config import Configurator
from pyramid.httpexceptions import HTTPFound
from paste.httpserver import serve

config = Configurator()

config.add_route('redirect', '/{arg}')

def redirect_view(request):
    dst = 'http://mydomain2.com/register.php?id={id}&from={host}'
    args = {
        'id': request.matchdict['arg'],
        'host': request.host,
    }
    return HTTPFound(dst.format(**args))
config.add_view(redirect_view, route_name='redirect')

serve(config.make_wsgi_app(), host='0.0.0.0', port=80)
于 2011-11-15T05:36:08.977 に答える
2

これが私の試みです。私はほとんどフラスコの初心者なので、改善の余地があるはずです

from flask import Flask, redirect, request
app = Flask(__name__)
host = 'domain2.org'

@app.route('/<path>')
def redirection(path):
    return redirect('http://'+host+'/register.php?id='+path+'&from='+request.host)

if __name__ == '__main__':
    app.run()

ホストをfromパラメータに追加するように編集

于 2011-11-16T10:47:44.943 に答える
0

私の解決策は、パスタイプを使用してWerkzeugルールを使用することでした:

host = 'domain2.org'
@app.route('/<path:path>')
def redirection(path):
    return redirect('http://%s/%s' % (host, path), code=301)

これは、サイトを移動し、代わりに他のページにリダイレクトする別のサイトが必要な場合に役立ちます.

于 2012-09-10T19:08:57.930 に答える