Google app engine 如何在web2py和googleappengine中缩短url
我一直在努力缩短URL。例如,改变Google app engine 如何在web2py和googleappengine中缩短url,google-app-engine,url,routes,web2py,domain-name,Google App Engine,Url,Routes,Web2py,Domain Name,我一直在努力缩短URL。例如,改变 www.mydomainname.com/myapp/default/mypage 至www.mydomainname.com/mypage 我在web2py文件夹下的routes.py中添加了以下代码: routes_out=( ('.*:/sevenpeng/default(?P<any>.*)', '\g<any>'),) routes\u out=( ('.*:/sevenpeng/default(?P.*'),\g
www.mydomainname.com/myapp/default/mypage
至www.mydomainname.com/mypage
我在web2py文件夹下的routes.py中添加了以下代码:
routes_out=(
('.*:/sevenpeng/default(?P<any>.*)', '\g<any>'),)
routes\u out=(
('.*:/sevenpeng/default(?P.*'),\g'),)
但这不起作用。url仍然显示www.mydomain.com/default/mypage
我错过什么了吗
另一个问题是,我在谷歌appengine上部署了我的网站,当我键入www.mydomainname.com时,它指向正确的页面,地址仍然是www.mydomainname.com。但是,当我直接在浏览器中键入mydomainname.com时,地址变为1.myapp.appspot.com/myapp。我怎样才能解决这个问题
谢谢从URL中删除应用程序名称和“默认”控制器的最简单方法是使用,如下所示:
routers = dict(
BASE = dict(
default_application = 'myapp',
default_controller = 'default',
default_function = 'index',
),
)
上面的代码位于/web2py/routes.py中。注意,基于参数的系统不能与混合。谢谢。但是我有几个控制器,我不想显示控制器的名称。可能类似于
routes_-in=('/('Pfunc1 | func2 | etc'),/myapp/controller1/\g'),('/('Pfunc3 | func4 | etc'),/myapp/controller2/\g')
routes_-out将通过URL()生成缩短的URL,但是,当有人跟踪routes\u out生成的链接时,您需要相应的routes\u in来正确地将传入请求转换为正确的web2py路由。