Проблема конфигурации пути с mod_wsgi - WSGIScriptAlias - PullRequest
1 голос
/ 26 мая 2011

Я пытаюсь настроить путь с помощью WSGIScriptAlias ​​после успешной загрузки модуля wsgi с помощью этой строки:

WSGIScriptAlias / /home/patipol/RTG-Likitomi/likitomi/apache/django.wsgi

Это работает правильно для моего приложения, но это также вызвало phpmyadmin на http://localhost/phpmyadmin не может быть найден. Если я не монтирую root, измените его на:

WSGIScriptAlias /django /home/patipol/RTG-Likitomi/likitomi/apache/django.wsgi

Phpmyadmin снова возвращается к работе, но многие ссылки в моем коде не могут быть найдены, такие как:

<iframe id="map" name="map" src="/inventory/" frameborder="0" style="width:100%; height:500px; margin-top:35px; margin-left:0px;" scrolling="no"></iframe>

Местоположение в "/ инвентарь /" не найдено. Я должен изменить его на "/ Django / инвентарь", чтобы он работал. Проблема в том, что в моем коде есть много ссылок, указанных так. Есть ли другой способ решить эту проблему, не меняя все ссылки в моем коде? Спасибо.

1 Ответ

1 голос
/ 26 мая 2011

Чтобы по-прежнему монтировать его в корне, но иметь статические файлы и PHP по-прежнему работать, используйте методику, описанную в:

http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#The_Apache_Alias_Directive

вместо WSGIScriptAlias.

В случае использования WSGIScriptAlias ​​и монтирования по вспомогательному URL, вы не должны сначала жестко кодировать абсолютные URL-адреса в своих шаблонах. Вместо этого вы должны использовать что-то вроде тега шаблона 'url' для генерации URL. Таким образом, вы меняете вещи или монтируете приложение в другой точке монтирования, и все они автоматически настраиваются. См:

https://docs.djangoproject.com/en/1.3/ref/templates/builtins/#url

и

https://docs.djangoproject.com/en/1.3/topics/http/urls/#topics-http-reversing-url-namespaces

и функция 'reverse' для выполнения того же в коде.

...