Я обновляю файловую структуру моего статического сайта с ручным кодированием, так как я изначально создал его некоторое время назад, когда у меня не было высокой оценки передовых методов для файловой структуры в веб-разработке.
Я в курсечто для лучшего пользовательского опыта, а также оптимальных целей SEO, перенаправления должны использоваться минимально.
Я искал Stack Overflow и Google в целом, чтобы найти решение для настройки перенаправления 301 для отдельных статических URL-адресов страниц в Google App Engine (GAE), однако мне только кажется, что я могу найти объяснения перенаправления всего доменного имени.
Сайт написан вручную в формате html, css и js с Bootstrap v3.3.7, интегрированным для мобильной реакции.
Сайт размещен на Google App Engine и является поддоменом .appspot.com (http://christopher -john-roberts.appspot.com ).
Например, я буду перемещать следующую страницу:
http://christopher -john-roberts.appspot.com/content/scientific-skills/mres-post-genomic-science.html
на новый URL:
http://christopher -john-roberts.appspot.com/scientific-skills/mres-post-genomic-science.html
все еще под http://christopher -john-roberts.appspot.com /
Мой app.yaml выглядит следующим образом:
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /
static_files: www/index.html
upload: www/index.html
- url: /(.*)
static_files: www/\1
upload: www/(.*)
Мой main.py файл выглядит следующим образом:
import os
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.ext.webapp import template
class MainHandler(webapp.RequestHandler):
def get (self, q):
if q is None:
q = 'index.html'
path = os.path.join (os.path.dirname (__file__), q)
self.response.headers ['Content-Type'] = 'text/html'
self.response.out.write (template.render (path, {}))
def main ():
application = webapp.WSGIApplication ([('/(.*html)?', MainHandler)], debug=True)
util.run_wsgi_app (application)
if __name__ == '__main__':
main ()
Если требуется создание сценариев, я бы предпочел реализовать решение на Python, так как это текущее развертывание в GAE.
Не стесняйтесь спрашивать, пропустил ли я какую-либо важную информацию.
Заранее спасибо за ваш ответ.
ОБНОВЛЕНИЕ
Я сейчас попытался отредактировать свой файл main.py, чтобы представить себя.перенаправить следующим образом:
import os
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.ext.webapp import template
class MainHandler(webapp.RequestHandler):
def get (self, q):
if q is None:
q = 'index.html'
if q = 'content/scientific-skills/mres-post-genomic-science.html':
redirect_url = 'http://christopher-john-roberts.appspot.com/scientific-skills/mres-post-genomic-science.html'
self.redirect(redirect_url, permanent=True)
path = os.path.join (os.path.dirname (__file__), q)
self.response.headers ['Content-Type'] = 'text/html'
self.response.out.write (template.render (path, {}))
def main ():
application = webapp.WSGIApplication ([('/(.*html)?', MainHandler)], debug=True)
util.run_wsgi_app (application)
if __name__ == '__main__':
main ()
Однако это не сработало.При посещении url http://www.christopher -john-roberts.appspot.com / content / Scientific-skill / mres-post-genomic-science.html Я не перенаправлен и вместо этого получаю сообщение об ошибке: NotНайдено Запрошенный URL /content/scientific-skills/mres-post-genomic-science.html не был найден на этом сервере.
Я также пробовал:
import os
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.ext.webapp import template
class MainHandler(webapp.RequestHandler):
def get (self, q):
if q is None:
q = 'index.html'
path = os.path.join (os.path.dirname (__file__), q)
self.response.headers ['Content-Type'] = 'text/html'
self.response.out.write (template.render (path, {}))
if q = 'content/scientific-skills/mres-post-genomic-science.html':
redirect_url = 'http://christopher-john-roberts.appspot.com/scientific-skills/mres-post-genomic-science.html'
self.redirect(redirect_url, permanent=True)
def main ():
application = webapp.WSGIApplication ([('/(.*html)?', MainHandler)], debug=True)
util.run_wsgi_app (application)
if __name__ == '__main__':
main ()
А также ...
import os
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.ext.webapp import template
class MainHandler(webapp.RequestHandler):
def get (self, q):
if q is None:
q = 'index.html'
if q = 'content/scientific-skills/mres-post-genomic-science.html':
redirect_url = 'scientific-skills/mres-post-genomic-science.html'
self.redirect(redirect_url, permanent=True)
path = os.path.join (os.path.dirname (__file__), q)
self.response.headers ['Content-Type'] = 'text/html'
self.response.out.write (template.render (path, {}))
def main ():
application = webapp.WSGIApplication ([('/(.*html)?', MainHandler)], debug=True)
util.run_wsgi_app (application)
if __name__ == '__main__':
main ()
ОБНОВЛЕНИЕ 2
Я предоставил скриншот ниже моего текущего файла main.py:
снимок экрана файла main.py
ОБНОВЛЕНИЕ 3
Мой последний файл main.py:
последний скриншот main.py
Журналы:
скриншот журналов