2017-02-06 2 views
0

Я пытаюсь получить простой веб-api для работы в моей общей среде размещения через 1 и 1.переменные маршрута колбы 404 не найдены

Я установил этот путь ~/myapp/api, где я поместил все мои скрипты на питоне. Это я не могу получить на работу (test.py):

проблема с последним маршрутом. Он будет работать, только если я создам каталог «таблицы». в противном случае он выдает не найденную ошибку.

from flask import Flask 
app = Flask(__name__) 

@app.route('/myapp/') 
def api_base(): 
    return "/myapp" 

@app.route('/myapp/api/') 
def api_base_full(): 
    return "/myapp/api" 

@app.route('/myapp/api/table/', methods = ['GET', 'POST']) 
def api_routes_table(): 
    if request.method == 'GET': 
     return getAllTableItems() 
    elif request.method == 'POST': 
     return insertNewTableItem() 

.htaccess в ~ каталоге:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^myapp/(.*)$ /myapp/api/cgitester.py/betabank/$1 [L] 

cgiteseter.py:

from wsgiref.handlers import CGIHandler 
from test import app 

CGIHandler().run(app) 

У меня есть ощущение, что проблема с моей .htaccess файл потому что я действительно не знаю, что я там делаю. Я не могу понять, как исправить это, глядя на документы флагов и сообщения stackoverflow. спасибо за любую помощь

то, что я пытаюсь сделать, это создать веб-api, чтобы при выполнении GET-вызовов на www.example.com/myapp/api/table он возвращает json из моей базы данных. Затем www.example.com/myapp/api/table/3 вернет строку таблицы 3. RIght теперь я просто хочу, чтобы она печатала какой-то текст, поэтому я знаю, что правильная функция вызывается.

ответ

0

Хорошо, что мой файл .htaccess имеет строку в нем из Wordpress, которая вызывает все проблемы.

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
#RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

после комментирования, что линия внизу работала нормально.

Я только что нашел это на веб-сайте Oracle:

правило для Совпадение по любому Адрес

Специальная модель "" (один период) соответствует любой спецификации хоста/домена , если никакое другое правило не соответствует, а спецификация хоста/домена не может быть найдена нигде в таблице каналов. В других словах «.» правило используется в качестве последнего средства, когда переписывание адресов потерпит неудачу.

Смежные вопросы