Я переношу приложение PHP (LAMP) на хостинг Google App Engine. Я сделал большую часть этого материала, но теперь я застрял на преобразовании правил .htaccess в версию app.yaml.Перенаправления/переопределение Google App Engine
# Redirect all requests for any domain not being "www.domain.com"
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteRule ^(.*) http://www.domain.com/$1 [L,R=301,NC]
# Redirect all requests for the mobile version to the mobile subdomain
RewriteCond %{REQUEST_URI} ^/([a-z][a-z])/mobile(/)?(.*)
RewriteRule ^([a-z][a-z])/mobile(/)?(.*) https://m.domain.com/$1/$3 [R=301,L]
# If the URL contains ".php", then the request should be handled by that particular script
RewriteCond %{THE_REQUEST} (.*\.php) [NC]
RewriteRule ^([a-z][a-z])/(.*) /$2 [L]
# Most of the other requests should be handled by redirector.php
RewriteCond %{THE_REQUEST} !(/([a-z][a-z])/controls/.*)
RewriteCond %{THE_REQUEST} !(/api/.*)
RewriteCond %{THE_REQUEST} !(/admin/.*)
RewriteCond %{HTTP_HOST} !^m\.domain\.com [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule^redirector.php [L]
Проблемы у меня бывают трех видов:
- Как перенаправить пользователя на www.domain.com при посещении через domain.com
- Как переписать язык 2 символов код, который появляется именно после имени домена, и передать его как параметр GET в PHP (добавлен с другими параметрами)
- Как проверить, существует ли требуемый файл/каталог, а если нет, загрузите файл redirector.php который будет обрабатывать красивые/виртуальные ссылки.
Я проверил документацию на https://cloud.google.com/appengine/docs/php/config/appconfig и https://cloud.google.com/appengine/docs/python/config/appconfig
Да, я прочитал и проверил это, но все, что на самом деле делает, это перенаправить все на redirector.php в моем примере выше, а затем положить огромное условие case/switch со сложными заменами preg и проверками файлов в php , вместо того, чтобы использовать исходный запрос и вообще не использовать скрипты. – Lincoln