В основном домене стоит Drupal 5.2, в поддомен поставил 6.5 и не могу включить чистые ссылки, говорит:
Конфигурация вашей системы на данный момент не поддерживает этой функции. Дополнительная информация доступна на страницы документации о Clean URLs.
Понимаю, что для апача нужен модуль rewrite, но он стоит на сервере (иначе в 5.2 чистые ссылки бы не работали), а что еще нужно не понимаю!
Подскажите пожалуйста!
Комментарии
А почему хостинг не пишите? (в службу поддержки обращались?)
Проверьте phpinfo-ом запущен ли он.
Хостинг http://majordomo.ru
phpinfo()
tea-5.majordomo.ru 7.0-STABLE FreeBSD 7.0-STABLE #1: Fri Jun 20
17:14:18 MSD 2008 itreek@tea:/usr/obj/usr/src/sys/GENERIC amd64
'--with-apache=/usr/Work/apache_1.3.34'
'--with-config-file-path=/usr/local/lib/php5/' '--enable-dbase'
'--with-mysql=/usr/local' '--with-pdo-mysql=/usr/local'
'--with-mysqli=/usr/local/bin/mysql_config' '--with-gd'
'--enable-gd-native-ttf' '--with-ttf=/usr/local/lib'
'--with-freetype-dir=/usr/local/lib' '--with-gettext'
'--enable-magic-quotes' '--with-xsl' '--with-imap=/usr/Work/imap-2004g'
'--with-imap-ssl' '--enable-force-cgi-redirect' '--with-mime-magic'
'--enable-sysvshm' '--enable-sysvsem' '--with-zlib'
'--with-curl=/usr/local' '--with-iconv=/usr/local' '--with-bz2'
'--with-jpeg-dir=/usr/local' '--enable-calendar' '--enable-ftp'
'--enable-mbstring' '--enable-soap' '--with-openssl=/usr/local'
'--with-mcrypt' '--enable-zip' '--with-pgsql=/usr/local' '--with-ming'
'--enable-exif' '--with-tidy' '--with-mhash=/usr/local'
'--enable-bcmath' '--enable-sockets' '--with-ffmpeg'
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies
Configuration
PHP Core
Вроде как не нашел! Значит его нет? А как же тогда в пятой версии чистые ссылки работают?
Хостер утвердительно ответил что данный модуль на сервере стоит!
мало ли он там что утверждает. Суньте ему листинг phpinfo() - реврайта там в помине нет.
эмммм.... а каким боком mod_rewrite к php ?
топикстартер, кури .htaccess
Кстати, та же хрень недавно на моем ВПСе, ставлю друпал 6.4, так кнопки запуска чистых ссылок вообще нет, говорит конфигурация не поддерживает. Хотя на этом же сервере стоит туча пятерок, и нормально, ничего.
Перекопал друпал.орг, нашел рецепт - отключить Джаваскрипт в браузере. Окей, отключаю. Кнопка появляется, после нажатия 404 ошибка.
Пока забросил это дело
По ходу тут зависит от какой то еще конфигурации сервера, хз
При правильно настроенном на сервере mod_rewrite, clean URLs в друпале должны работать вне зависимости от настроек друпала. Достаточно проверить "чистый" адрес типа site.ru/user/1.
Если на друпал 5 clean URLS были, а на шестерке их нет... Возможно, стандартный .htaccess поврежден?
Дело в том, что и другие движки (E107, Wordpress) подхватывают этот модуль (ЧПУ работает у обоих) да и пятерка нормально стоит (причем ни одна), а вот с 6 проблема встала!
Поддерживает ли запись файл .htaccess? Может Друпал не может его переписать.
.htaccess не перезаписывается drupalом, афаик...
Интересно как же он прописывает туда параметры, чтобы включить чистые ссылки?
Никак он их не прописывает, они там всё время есть. Включение чистых ссылок приводит к перезаписи ссылок только на страницах сайта, к .htaccess отношения не имеет.
Да вы что?! Совсем никакого? Ну тогда бы я не мучилась с включением чистых ссылок.
Как включить Clean URLs
В зависимости от хостинга и его настроек, этот файл иногда приходиться править.
Топикстартеу: посмотрите Clean URLs, может найдете что полезное.
Да, совсем никакого. Drupal .htaccess не трогает.
Решено с помощью хостера! Оказывается много нюансов... В моей панели было выставлено "Автоматическое создание поддоменов" (в каталоге с папкой WWW создаем папку например "test" и заливаем в нее движек, сайт будет доступен по адресу http://test.name_domen.ru) выключил эту функцию, теперь поддомены пе видны (ссылка http://test.name_domen.ru видет на главную http://name_domen.ru) создал в панели вручную поодомен и прописал пути! Теперь сайт доступен по ссылке http://test.name_domen.ru и работают чистые ссылки!
Может инфа пригодится кому, многие хостеры используют подобные функции!
Драпал, то не трогает, а вот самим иногда приходиться.
[size=11][color=#999999]p.s.: что-то я в этом посте "нагнала" чуть-чуть)))[/color][/size]
Что спорить? Трогает, не трогает. Берем инсталляшку друпала. Ищем в ней строку htaccess. Находим его в трех файлах (программных). Внимательно курим листинги. Выясняем, что дру трогает только .htaccess находящийся в папке sites/default/files.
Корневой .htaccess не затрагивается. Точка.
Не затрагивается. Точка. Не спорю. Курить .htaccess да может и надо. однако неужели нету уже готового решения этой проблемы для 6 версии? У меня вообще нехотат эти чистые ссылки заводиться! В чем дело не пойму никак.
Может быть правда под Денвером все делается нажатием кнопочек типа далее!? У меня SUSE11 что мне менять чтобы друпал понял что mod_re..... работает? Через пшпинфо показывает что работает.
Меня смущает вот это:
<IfModule mod_rewrite.c>
RewriteEngine on
Я не нашол у себя такого модуля я нашол тоько вот такой: /usr/lib/apache2-prefork/mod_rewrite.so
который и загружается апачем во время его старта, судя по конфигу апача:
/etc/apache2/sysconfig.d/loadmodule.conf
# Files in this directory are created at apache start time by /usr/sbin/rcapache2
# Do not edit them!
#
# as listed in APACHE_MODULES (/etc/sysconfig/apache2)
LoadModule authz_host_module /usr/lib/apache2-prefork/mod_authz_host.so
LoadModule actions_module /usr/lib/apache2-prefork/mod_actions.so
LoadModule alias_module /usr/lib/apache2-prefork/mod_alias.so
LoadModule auth_basic_module /usr/lib/apache2-prefork/mod_auth_basic.so
LoadModule authz_groupfile_module /usr/lib/apache2-prefork/mod_authz_groupfile.so
LoadModule authn_file_module /usr/lib/apache2-prefork/mod_authn_file.so
LoadModule authz_user_module /usr/lib/apache2-prefork/mod_authz_user.so
LoadModule autoindex_module /usr/lib/apache2-prefork/mod_autoindex.so
LoadModule cgi_module /usr/lib/apache2-prefork/mod_cgi.so
LoadModule dir_module /usr/lib/apache2-prefork/mod_dir.so
LoadModule include_module /usr/lib/apache2-prefork/mod_include.so
LoadModule log_config_module /usr/lib/apache2-prefork/mod_log_config.so
LoadModule mime_module /usr/lib/apache2-prefork/mod_mime.so
LoadModule negotiation_module /usr/lib/apache2-prefork/mod_negotiation.so
LoadModule setenvif_module /usr/lib/apache2-prefork/mod_setenvif.so
LoadModule status_module /usr/lib/apache2-prefork/mod_status.so
LoadModule userdir_module /usr/lib/apache2-prefork/mod_userdir.so
LoadModule asis_module /usr/lib/apache2-prefork/mod_asis.so
LoadModule imagemap_module /usr/lib/apache2-prefork/mod_imagemap.so
LoadModule rewrite_module /usr/lib/apache2-prefork/mod_rewrite.so
LoadModule php5_module /usr/lib/apache2/mod_php5.so
LoadModule authz_default_module /usr/lib/apache2-prefork/mod_authz_default.so
#
LoadModule rewrite_module /usr/lib/apache2-prefork/mod_rewrite.so
в общем недогоняю я как с этим разобраться с этими чистыми ссылками, уже целый день кручусь...
Подскажите что и как вы делали? Попадал ли кто именно в такую ситуацию?
Может кому ещё интересно, как говорил товарищ KTATTOO выше, так-же сделал у себя, отключил поддомены, панель у меня ispmanager, и clean urls сразу заработали.
вообще отключить поддомены? нет, я на это не пойду
мне помогло добавление в .htaccess (в корне сайта) следующий код:
ErrorDocument 404 /404/
Options +Followsymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1
Спасибо Вам, добрый человек!
Вот это реально помогло, а то уже думал хостера менять, с которым 3-4 года...
У меня в настройках "чистых" ссылок было указано, примерно так что "сервер протестирован, ссылки разрешены". Но при включение проходил разлогин, без возможности залогиниться заново. И помог только способ от vipserious постом выше. За что ему большое спасибо.
На оф. сайте описана эта проблема http://drupal.org/node/15365. Смотрите второй комментарий той статьи.
Что должно быть в httpd.conf:
LoadModule rewrite_module modules/mod_rewrite.so
...
# для drupal, разрешаем использование .htaccess
<Directory "путь/до/drupal">
AllowOverride All
</Directory>
...
где путь/до/drupal - путь до директории файлов с drupal, в которой соответственно находится файл .htaccess. Например c:/Dev/Web-server/www/drupal-6.11.
Что должно быть в .htaccess (а оно там есть по умолчанию):
# Follow symbolic links in this directory.
Options +FollowSymLinks
...
RewriteEngine on
...
Строка RewriteEngine on скрывается в блоке:
...
</IfModule>
который выполняется в том случае, если подключен mod_rewrite.
вот спасибко, всё запахало вроде !!!!!
ОЧЕНЬ ХОРОШО И ТОЛКОВО ВСЁ НАПИСАНО ЗДЕСЬ: ПОЛЬЗУЙТЕСЬ!
http://drupalist.org.ru/docs/cleanurls.html
КАК ТОЛЬКО СДЕЛАЛ КАК ТАМ НАПИСАНО, СРАЗУ ВСЁ ПОЛУЧИЛОСЬ :)а то блин мучался, не помогали мне написанные выше методы.