Доброго времени суток, всемогущий ALL!
Есть проблема с чистыми ссылками.
Имеем:
локальный хостинг под Windows.
установлен Apache/2.2.24 (Win32) и PHP 5.3.10
Не работают чистые ссылки. На странице: Главная » Управление » Конфигурация » Search and metadata имеем сообщение «The clean URL test failed».
mod_rewrite включен. Вот .htaccess:
Order allow,deny
</FilesMatch>
Options -Indexes
Options +FollowSymLinks
ErrorDocument 404 /index.php
DirectoryIndex index.php index.html index.htm
<IfModule mod_php5.c>
php_flag magic_quotes_gpc off
php_flag magic_quotes_sybase off
php_flag register_globals off
php_flag session.auto_start off
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_flag mbstring.encoding_translation off
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A1209600
<FilesMatch \.php$>
ExpiresActive Off
</FilesMatch>
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule "(^|/)\." - [F]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]
<IfModule mod_headers.c>
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.css $1\.css\.gz [QSA]
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.js $1\.js\.gz [QSA]
RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
<FilesMatch "(\.js\.gz|\.css\.gz)$">
Header set Content-Encoding gzip
Header append Vary Accept-Encoding
</FilesMatch>
</IfModule>
</IfModule>
Все решения, которые нашел в инете, проблему не решили.
Добавление
<?php$conf = array(
'clean_url' => 1
);?>
в settings.php принудительно включает чистые ссылки, но получаем 404 по всем страницам (при добавлении вручную "?q=" в url - страницы отображаются).
При этом, на странице: Главная » Управление » Конфигурация » Search and metadata имеем сообщение «Clean URLs are enabled, but the clean URL test failed.»
Изменение «RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]» на «RewriteRule index.php?q=$1 [L,QSA]»
Расскомментирование строки RewriteBase /
Комментирование всех FilesMatch
тоже ничего не дает.
Что еще можете посоветовать?
Комментарии
Поставьте http://www.denwer.ru/ и забудьте о проблемах.
Нафиг мне лишнее барахло на компе? Ставить и настраивать Апач+ПХП+Мускул для работы я и без денвера и без XAMPP могу.
Никогда не имел каких-нибудь серьезных проблем с этой связкой и с настройкой .htaccess, только с Drupal столкнулся с какой-то непонятной фигней в этом плане.
AllowOverride
Да, это тоже уже пробовал. И тоже не помогло. Забыл указать об этом в первом посте.
Проблема решилась переустановкой Drupal. Даже без модуля Pathauto начал работать с нормальными ЧПУ.
Проверяйте также чтобы файл .htaccess присутствовал в корне. На маках он скрыт и не копируется вместе с остальными.