Добрый день.
Проблема с чистыми url.
В httpd.conf стоит Allowowerride All, Друпал находится в корне Апача, прописывала и через .htaccess, rewriteBase раскомментировала. Пробовала прописывать clean_url в settings.php. Добилась лишь того, что переходит, например на myhost.ru/admin/content, но выдает ошибку Not Found.
Версия 7.10.
Apache 2.2, PHP 5.2, Mysql 5.5. ОС FreeBSD.
Прошу совета и помощи, новичок в этом деле. Заранее спасибо
Комментарии
Не понял, зачем RewriteBase раскомментировали и какой? Там по умолчанию все правильно прописано.
Смотрите phpinfo на сервере и стоит ли там mod_rewrite
По умолчанию "RewriteBase /" закоментированно. mod_rewrite проверяла через apachectl -M | grep rewrite. Все было ок.
Была такая проблема когда-то очень давно, помню только, что связано с настройками httpd.conf, друпал тут вообще не причем. Если не сложно, выложите ваш httpd.conf, понять суть проблемы станет проще.
С фряхи выложить проблематично, к сожалению. Какой конкретно кусок вас интерисует?
Хм, у меня на домашнем тестовом он вообще пустым оказался, однако, вот содержимое файла /etc/apache2/sites-available/default(имя файла будет зависеть от конфигурации апача, этот идет по дефолту), не помню что в нем менял, но работает все что угодно и почти без глюков. Вроде AllowOverride All в тегах
<Directory /var/www/>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
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
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
версия Apache/2.2.16 (Ubuntu)
Друпал находится по DocumentRoot, и стоит AllowOverride All.
в случае с этим файлом AllowOverride All должен быть именно в теге
<Directory /путь/к/drupal>
, в остальных местах он на друпале не скажется. На сколько я понимаю, эта надстройка разрешать апачу использовать .htaccess по указанному пути.Стоит там где и должно стоять.
тогда очень странно, если .htaccess принимается, rewrite подключен, то должно работать(после установки пакетов под lamp обычно другое не требуется), может еще кто что подскажет, но если drupal с оригинальным .htaccess в корне и не работают чистые ссылки, то это точно проблема в настройках апача. А в них я, к сожалению, не очень силен, знаю только, что в зависимости от версии он будет довольно сильно отличаться.
Хм... Ну мне кажется в php тоже может быть дело, не?
В php дело будет, только если Вы ядро хакали, стандартный .htaccess(из комплекта), тоже на всех серверах обычно работает, от сюда следует, что drupal тут не причем(joomla, к примеру, без рабочих чистых ссылок, по моему, вообще не встанет), вот и остается копать в сторону апача.
Была та же проблема. Решил. Надо положить этот файл в корень сайта и убрать из названия dot.
Рамиль, в чем отличие от оригинального .htaccess? Я вот не нашел разницы между твоим файлом и оригинальным из Drupal 7
Так и есть. Просто у меня вот почему то не было этого файла при установке Commerce Kickstart. Я его скопировал в корень сайта. Мне помогло.
Информацию почерпнул из http://drupal.org/getting-started/clean-urls
просто файловый манагер из вашей панели управления не отображает скрытые файлы)))
вебморда для такого дела - зло))
Я это понял. Но он же в нем что то менял. Может просто сейчас вернуть его в первоначальное состояние?
Я не использую вебморду, и файла там не было.
одно другому не мешает))
тогда что мешало посмотреть в корень после drush drupal
ls -la и все дела (в случае апача конешно-же))
в таком деле подход "почему-то" не шарман
если меня память не подводит, то боксы с дорг укомплектованы все
Там, кстати, мне 1 пункт понравился, предлагается специально сломать .htaccess, поместив туда какой-либо мусор(на время проверки), и словить 500ю ошибку на сайте, если 500 ошибки нет - значит апач не принимает .htaccess. Как-то сам до такого не додумался, видимо интелект человека недалеко ушел от обезьяны(вспоминаются школьные уроки биологии, где в подобной ситуации оказалась макака, на основании чего ученые сделали вывод - у макаки интелект отсутствует, видимо у меня тоже)
И если вдуматься, то там(http://drupal.org/getting-started/clean-urls) рассмотрены все возможные причины, почему ссылки могут не работать, все что нужно - некоторое знание английского и точно следовать инструкции, причем, если не помогло - значит какой-то из пунктов был недовыполнен по невнимательности.
Всем спасибо.
Проблема решилась, правда не совсем понятно каким образом. Правила и httpd и htaccess, а потом зашла на тест чистых ссылок и просто удалила "нечистую" часть в урл и появился вожделенный чекбокс.