Apache настройка ServerPath для CodeIgniter - PullRequest
1 голос
/ 16 марта 2020

Я очень плохо знаком с Apache и CodeIgniter. Попытка направить /var/www/html в http://localhost/ и /var/www/CodeIgniter в http://localhost/codeigniter

Apache conf:

<VirtualHost *:80>
    ServerName localhost
    ServerPath /codeigniter
    DocumentRoot /var/www/CodeIgniter
    <Directory /var/www/CodeIgniter>
          Allowoverride All
    </Directory>
</VirtualHost>

CodeIgniter:

$config['base_url'] = 'http://localhost/codeigniter';

http://localhost/codeigniter дает мне codeigniter, но http://localhost/ также дает его мне, когда я ожидаю /var/www/html

Что мне изменить?

1 Ответ

2 голосов
/ 17 марта 2020

Нигде вы не конфигурируете свой документ Root в предоставленном вами фрагменте - таким образом, мы не имеем ни малейшего понятия, что вы могли бы обслуживать что-либо из /var/www/html.

Я бы ожидал директиву DocumentRoot /var/www/html где-нибудь в вашем VirtualHost (я предпочитаю такую ​​директиву в VirtualHost, а не в глобальной конфигурации сервера). Далее рассмотрим документацию Apache httpd :

Часто возникают ситуации, когда необходимо разрешить веб-доступ к частям файловой системы, которые не являются строго под DocumentRoot. httpd предлагает несколько разных способов сделать это. В Unix системах символьные ссылки c могут переносить другие части файловой системы под DocumentRoot. По соображениям безопасности httpd будет следовать символическим c ссылкам, только если параметр Options для соответствующего каталога включает FollowSymLinks или SymLinksIfOwnerMatch.

В качестве альтернативы, директива Alias отобразит любую часть файловая система в веб-пространстве. Например, с

Alias "/docs" "/var/web"

URL http://www.example.com/docs/dir/file.html будет обслуживаться с /var/web/dir/file.html.

, то есть я бы ожидал, что псевдоним будет сделать работу.

Alias "/codeigniter" "/var/www/CodeIgniter"

В целом, ближе к (это не завершено / проверено):

<VirtualHost *:80>
  ServerName localhost
  DocumentRoot /var/www/html
  Alias "/codeigniter" "/var/www/CodeIgniter"
</VirtualHost>

(добавить Options, Directory, другие директивы и разрешения et c. по вкусу)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...