Недавно я перенес сайт Drupal с сервера виртуального хостинга на свою ВМ. Все работает правильно, за исключением чистых урлов.
Моя VM Setup
Начитавшись форумов по друпалу, я пробовал следующее в таком порядке
Изменен /etc/apache2/sites-enabled/000-default
<Каталог /var/www/>.
Опции Индексы FollowSymLinks MultiViews
AllowOverride All
...
Не уверен насчет пунктов 3 и 4, я хочу, чтобы все домены могли использовать mod_rewrite из коробки.
Я сделал что-то не так или я пропустил какой-то шаг? В конечном итоге я хотел бы использовать FastCGI и чистые урлы, работающие на всех доменах ISPConfig 3 без необходимости вносить изменения в настройки отдельных доменов.
Любые идеи приветствуются, я попробую их все.
Вкладка перенаправления в ISPConfig предназначена только для перенаправления домена, а не для конкретного приложения, такого как Drupal '.
Вы проверяли, распознаются ли файлы .htaccess как директивы?
Вы должны найдите подобное в глобальной конфигурации apache2
ISPConfig 3 Manual says:
Fast-CGI:
Advantages:
- Scripts will be executed with user privileges of the web site;
- More than one PHP version can be run as FastCGI;
- Might be better in speed compared to CGI and suPHP.
Disadvantages:
- php.ini values cannot be changed via PHP scripts, vhost files, .htaccess files. But it is possible to use the Custom php.ini settings field on the Options tab of a web site in ISPConfig to specify custom php.ini settings (see chapter 4.6.1.1).
Instead .htaccess file use ISPConfig's Apache Directives:
Site -> Website -> Web Domain -> Options tab
Apache Directives:
DirectoryIndex index.php RewriteEngine on RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]
Drupal 6 INSTALL.txt says:
If the default Drupal theme is not displaying properly and links on the page result in "Page Not Found" errors, try manually setting the $base_url variable in the settings.php file if not already set. It's currently known that servers running FastCGI can run into problems if the $base_url variable is left закомментировано (см. http://bugs.php.net/bug.php?id=19656 ).