2011-12-29 3 views
2

Я пытался сделать URL короче. Например, изменитьКак сделать url короче в web2py и google appengine

www.mydomainname.com/myapp/default/mypage 

в www.mydomainname.com/mypage

добавить следующий код в routes.py в папке web2py:

routes_out=(
    ('.*:/sevenpeng/default(?P<any>.*)', '\g<any>'),) 

Но это не сработало. Url все еще показывает www.mydomain.com/default/mypage Я что-то пропустил?

Еще одна проблема: я развернул свой сайт на Google appengine, когда я набрал www.mydomainname.com, он направляет на нужную страницу, а адрес по-прежнему остается www.mydomainname.com. Однако, когда я ввел непосредственно mydomainname.com в браузер, адрес изменится на 1.myapp.appspot.com/myapp. Как я могу это исправить?

Благодаря

ответ

4

Самый простой способ удалить имя приложения и «по умолчанию» контроллер от URL, чтобы использовать parameter-based rewrite system следующим образом:

routers = dict(
    BASE = dict(
     default_application = 'myapp', 
     default_controller = 'default', 
     default_function = 'index', 
    ), 
) 

выше идет в/web2py/маршруты .py. Обратите внимание, что система на основе параметров не может быть смешана с pattern-based system.

+0

Спасибо. Но у меня есть несколько контроллеров, и я не хочу, чтобы имя контроллера отображалось. – Jensen

+0

Возможно, что-то вроде 'routes_in = (('/ (? P func1 | func2 | и т. Д.)', '/ Myapp/controller1/\ g '), ('/ (? P func3 | func4 | etc)', '/ myapp/controller2/\ g ')) ' – Anthony

+0

Мне удалось заставить его работать с помощью route_out. Спасибо, в любом случае. – Jensen

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

  • Нет связанных вопросов^_^