Решено: Drupal 6.5: не включаются чистые ссылки!

Главные вкладки

Аватар пользователя KTATTOO KTATTOO 10 октября 2008 в 11:40

В основном домене стоит Drupal 5.2, в поддомен поставил 6.5 и не могу включить чистые ссылки, говорит:

Конфигурация вашей системы на данный момент не поддерживает этой функции. Дополнительная информация доступна на страницы документации о Clean URLs.

Понимаю, что для апача нужен модуль rewrite, но он стоит на сервере (иначе в 5.2 чистые ссылки бы не работали), а что еще нужно не понимаю!
Подскажите пожалуйста!

Комментарии

Аватар пользователя KTATTOO KTATTOO 10 октября 2008 в 12:21

phpinfo()

PHP LogoPHP Version 5.2.6


System FreeBSD
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
Build Date Sep 17 2008 15:43:39
Configure Command './configure'
'--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'
Server API Apache
Virtual Directory Support disabled
Configuration File (php.ini) Path /usr/local/lib/php5/
Loaded Configuration File /usr/local/Zend/etc/php5/php.ini
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety disabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams zip, php, file, data, http, ftp, compress.bzip2, compress.zlib, https, ftps
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, convert.iconv.*, bzip2.*, zlib.*


Zend logo
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

Directive Local Value Master Value
allow_call_time_pass_reference On On
allow_url_fopen On On
allow_url_include On On
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_globals_jit On On
auto_prepend_file no value no value
browscap no value no value
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
disable_classes no value no value
disable_functions ini_restore ini_restore
display_errors On On
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl On On
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting 6135 6135
expose_php On On
extension_dir ./ ./
file_uploads On On
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .:/php/includes:/usr/local/lib/php .:/php/includes:/usr/local/lib/php
log_errors Off Off
log_errors_max_len 1024 1024
magic_quotes_gpc Off On
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
mail.force_extra_parameters no value no value
max_execution_time 20 20
max_input_nesting_level 64 64
max_input_time 60 60
memory_limit 40M 40M
open_basedir no value no value
output_buffering no value no value
output_handler no value no value
post_max_size 8M 8M
precision 12 12
realpath_cache_size 16K 16K
realpath_cache_ttl 120 120
register_argc_argv On On
register_globals Off On
register_long_arrays On On
report_memleaks On On
report_zend_debug On On
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from me@localhost.com me@localhost.com
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 7M 7M
upload_tmp_dir no value no value
user_dir no value no value
variables_order EGPCS EGPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On
zend.ze1_compatibility_mode Off Off


Аватар пользователя direqtor direqtor 10 октября 2008 в 13:46

"KTATTOO" wrote:
Хостер утвердительно ответил что данный модуль на сервере стоит!

мало ли он там что утверждает. Суньте ему листинг phpinfo() - реврайта там в помине нет.

Аватар пользователя MeRamo MeRamo 10 октября 2008 в 15:18

Кстати, та же хрень недавно на моем ВПСе, ставлю друпал 6.4, так кнопки запуска чистых ссылок вообще нет, говорит конфигурация не поддерживает. Хотя на этом же сервере стоит туча пятерок, и нормально, ничего.
Перекопал друпал.орг, нашел рецепт - отключить Джаваскрипт в браузере. Окей, отключаю. Кнопка появляется, после нажатия 404 ошибка.
Пока забросил это дело Smile
По ходу тут зависит от какой то еще конфигурации сервера, хз Sad

Аватар пользователя whisk@drupal.org whisk@drupal.org 10 октября 2008 в 16:11

При правильно настроенном на сервере mod_rewrite, clean URLs в друпале должны работать вне зависимости от настроек друпала. Достаточно проверить "чистый" адрес типа site.ru/user/1.
Если на друпал 5 clean URLS были, а на шестерке их нет... Возможно, стандартный .htaccess поврежден?

Аватар пользователя KTATTOO KTATTOO 10 октября 2008 в 21:45

Дело в том, что и другие движки (E107, Wordpress) подхватывают этот модуль (ЧПУ работает у обоих) да и пятерка нормально стоит (причем ни одна), а вот с 6 проблема встала!

Аватар пользователя whisk@drupal.org whisk@drupal.org 10 октября 2008 в 22:42

EllECTRONC wrote:
Поддерживает ли запись файл .htaccess? Может Друпал не может его переписать.

.htaccess не перезаписывается drupalом, афаик...

Аватар пользователя EllECTRONC EllECTRONC 10 октября 2008 в 22:56

<a href="mailto:whisk@drupal.org">whisk@drupal.org</a> wrote:
.htaccess не перезаписывается drupalом, афаик...

Интересно как же он прописывает туда параметры, чтобы включить чистые ссылки?

Аватар пользователя WARpholomey WARpholomey 11 октября 2008 в 0:30

Никак он их не прописывает, они там всё время есть. Включение чистых ссылок приводит к перезаписи ссылок только на страницах сайта, к .htaccess отношения не имеет.

Аватар пользователя EllECTRONC EllECTRONC 11 октября 2008 в 1:21

"WARpholomey" wrote:
Никак он их не прописывает, они там всё время есть. Включение чистых ссылок приводит к перезаписи ссылок только на страницах сайта, к .htaccess отношения не имеет.

Да вы что?! Совсем никакого? Ну тогда бы я не мучилась с включением чистых ссылок.
Как включить Clean URLs
В зависимости от хостинга и его настроек, этот файл иногда приходиться править.

Топикстартеу: посмотрите Clean URLs, может найдете что полезное.

Аватар пользователя KTATTOO KTATTOO 12 октября 2008 в 15:28

Решено с помощью хостера! Оказывается много нюансов... В моей панели было выставлено "Автоматическое создание поддоменов" (в каталоге с папкой WWW создаем папку например "test" и заливаем в нее движек, сайт будет доступен по адресу http://test.name_domen.ru) выключил эту функцию, теперь поддомены пе видны (ссылка http://test.name_domen.ru видет на главную http://name_domen.ru) создал в панели вручную поодомен и прописал пути! Теперь сайт доступен по ссылке http://test.name_domen.ru и работают чистые ссылки!

Может инфа пригодится кому, многие хостеры используют подобные функции!

Аватар пользователя EllECTRONC EllECTRONC 12 октября 2008 в 17:15

"<a href="mailto:whisk@drupal.org">whisk@drupal.org</a>" wrote:
Да, совсем никакого. Drupal .htaccess не трогает.

Драпал, то не трогает, а вот самим иногда приходиться.

[size=11][color=#999999]p.s.: что-то я в этом посте "нагнала" чуть-чуть)))[/color][/size]

Аватар пользователя direqtor direqtor 13 октября 2008 в 4:25

Что спорить? Трогает, не трогает. Берем инсталляшку друпала. Ищем в ней строку htaccess. Находим его в трех файлах (программных). Внимательно курим листинги. Выясняем, что дру трогает только .htaccess находящийся в папке sites/default/files.
Корневой .htaccess не затрагивается. Точка.

Аватар пользователя stasroot stasroot 19 декабря 2008 в 1:42

Не затрагивается. Точка. Не спорю. Курить .htaccess да может и надо. однако неужели нету уже готового решения этой проблемы для 6 версии? У меня вообще нехотат эти чистые ссылки заводиться! В чем дело не пойму никак.
Может быть правда под Денвером все делается нажатием кнопочек типа далее!? У меня SUSE11 что мне менять чтобы друпал понял что mod_re..... работает? Через пшпинфо показывает что работает.
Меня смущает вот это:

# Various rewrite rules.
<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

в общем недогоняю я как с этим разобраться с этими чистыми ссылками, уже целый день кручусь...
Подскажите что и как вы делали? Попадал ли кто именно в такую ситуацию?

Аватар пользователя S_anches S_anches 7 января 2009 в 17:59

Может кому ещё интересно, как говорил товарищ KTATTOO выше, так-же сделал у себя, отключил поддомены, панель у меня ispmanager, и clean urls сразу заработали.

Аватар пользователя vipserious vipserious 27 января 2009 в 2:28

вообще отключить поддомены? нет, я на это не пойду

мне помогло добавление в .htaccess (в корне сайта) следующий код:

DirectoryIndex index.php
ErrorDocument 404 /404/
Options +Followsymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1
Аватар пользователя Acden Acden 29 ноября 2012 в 23:50

vipserious wrote:
вообще отключить поддомены? нет, я на это не пойду

мне помогло добавление в .htaccess (в корне сайта) следующий код:

DirectoryIndex index.php
ErrorDocument 404 /404/
Options +Followsymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1

Спасибо Вам, добрый человек!
Вот это реально помогло, а то уже думал хостера менять, с которым 3-4 года...

Аватар пользователя MadBadJack MadBadJack 18 марта 2009 в 21:23

У меня в настройках "чистых" ссылок было указано, примерно так что "сервер протестирован, ссылки разрешены". Но при включение проходил разлогин, без возможности залогиниться заново. И помог только способ от vipserious постом выше. За что ему большое спасибо.

Аватар пользователя Suvorov Suvorov 9 мая 2009 в 23:53

На оф. сайте описана эта проблема 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.c>
...
</IfModule>

который выполняется в том случае, если подключен mod_rewrite.

Аватар пользователя kadut kadut 6 декабря 2009 в 6:27

ОЧЕНЬ ХОРОШО И ТОЛКОВО ВСЁ НАПИСАНО ЗДЕСЬ: ПОЛЬЗУЙТЕСЬ! Smile
http://drupalist.org.ru/docs/cleanurls.html

КАК ТОЛЬКО СДЕЛАЛ КАК ТАМ НАПИСАНО, СРАЗУ ВСЁ ПОЛУЧИЛОСЬ :)а то блин мучался, не помогали мне написанные выше методы.