Назад | Перейти на главную страницу

Модуль перезаписи мода Apache не работает при использовании IP

У меня есть локальная установка Drupal. Когда я захожу на домашнюю страницу, используя свой IP, все работает. Когда я пробую любой "переписанный" URL (например, 10.0.150.4/user), я получаю сообщение "Не найдено".

Когда я заменяю свой IP псевдонимом (и помещаю его в свои хосты), все URL-адреса работают.

Вот мой 000-дефолт:

 <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /home/g/www/paddle
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /home/g/www/paddle>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Причина, по которой это не сработало, заключается в том, что вы устанавливаете AllowOverride none в вашем VHost с 000 по умолчанию. Это означает, что функция очистки URL-адресов в Drupal не будет работать, поскольку она зависит от .htaccess файл. Просто измените эту строку на AllowOverride all и все будет работать как чемпион.

Я думаю, вы запускаете Drupal из подкаталога своего веб-сайта (т. Е. http://127.0.0.1/ не является сайтом Drupal, но http://127.0.0.1/asdf является «корнем» сайта Drupal). Если это так, вам нужно открыть .htaccess файл, вы найдете строку, которая начинается RewriteBase, который должен знать, каким должен быть "корневой" путь к Drupal.

Очевидно, мне пришлось отключить сайт 000 по умолчанию.