2013-11-12 2 views
1

Я только что развернул проект CodeIgniter PHP AppEngine в облаке, и у меня возникает проблема, когда при попытке доступа к одному из моих URL-адресов это приводит к циклу перенаправления , Я пробовал использовать разные браузеры & режимов инкогнито, но они по-прежнему приводят к одной и той же проблеме.Переадресованный цикл с AppEngine и CodeIgniter PHP при развертывании в производство

Я настраиваю один URL-адрес в своем приложении.yaml, и он работает.

- url: /tos 
    script: tos.php 

Итак, /tos работает.

Но для моей обычной программы CodeIngiter index.php это приводит к циклу переадресации, и он выдается с длинным URL-адресом в адресной строке. Вот соответствующий app.yaml:

- url: .* 
    script: index.php 

http://even-crossing-385.appspot.com/base/data/home/apps/s~even-crossing-385/1.371577713118072254/login

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

У меня отсутствует какая-то конфигурация здесь?

Спасибо!

ответ

1

У меня такая же проблема, на моем локальном компьютере с WAMP он отлично работает, но с помощью движка google app он показывает только контроллер по умолчанию, я думаю, что проблема в файле app.yaml, но я не могу настроить правила перенаправления fine

0

Я не мог заставить это работать, но я нашел this hack of CodeIgniter, который работал как локально, так и на AppEngine. Поэтому я использовал его и скопировал мои контроллеры, модели и виды, а затем все было найдено. Я предполагаю, что есть какие-то базовые переменные среды, которые не работают, когда они идут в производство.

0
- url:/
    script: ci-googleappengine-test/index.php 

- url: /(.+) 
    script: ci-googleappengine-test/index.php 

он будет работать, работал для меня. ci-googleappengine-test = имя папки

0

У меня был обратный эффект. Он не работал локально с SDK App Engine, но когда я развернул его в GAE, он работал отлично. «Хак CodeIgniter», описанный в этой теме, не работал для меня. Я, наконец, получил его на работу, изменив файл config.php в приложении/Config/config.php

Я закомментирована существующие настройки конфигурации для base_url, index_page и uri_protocol и заменить его следующим:

if(isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'],'Google App Engine') !== false) 
{ 
//Production settings go here 
$config['base_url'] = ''; 
$config['index_page'] = ''; 
$config['uri_protocol'] = 'AUTO'; 
} 
else 
{ 
//Local Development settings go here (change "13080" to whatever number the localhost SDK generates for you) 
$config['base_url'] = 'http://localhost:13080/'; 
$config['index_page'] = 'index.php'; 
$config['uri_protocol'] = 'PATH_INFO'; 
} 

Если честно, я не знаю, почему это сработало, но это произошло.

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