Clean URL

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

Аватар пользователя kikkoeru kikkoeru 20 апреля 2012 в 9:43

Добрый день.
Проблема с чистыми 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.
Прошу совета и помощи, новичок в этом деле. Заранее спасибо Smile

Комментарии

Аватар пользователя Softovick Softovick 20 апреля 2012 в 10:20

Не понял, зачем RewriteBase раскомментировали и какой? Там по умолчанию все правильно прописано.
Смотрите phpinfo на сервере и стоит ли там mod_rewrite

Аватар пользователя sg85 sg85 20 апреля 2012 в 11:34

Была такая проблема когда-то очень давно, помню только, что связано с настройками httpd.conf, друпал тут вообще не причем. Если не сложно, выложите ваш httpd.conf, понять суть проблемы станет проще.

Аватар пользователя sg85 sg85 20 апреля 2012 в 14:19

Хм, у меня на домашнем тестовом он вообще пустым оказался, однако, вот содержимое файла /etc/apache2/sites-available/default(имя файла будет зависеть от конфигурации апача, этот идет по дефолту), не помню что в нем менял, но работает все что угодно и почти без глюков. Вроде AllowOverride All в тегах <Directory /var/www/>

<VirtualHost *:80>
        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)

Аватар пользователя sg85 sg85 20 апреля 2012 в 15:17

в случае с этим файлом AllowOverride All должен быть именно в теге <Directory /путь/к/drupal>, в остальных местах он на друпале не скажется. На сколько я понимаю, эта надстройка разрешать апачу использовать .htaccess по указанному пути.

Аватар пользователя sg85 sg85 20 апреля 2012 в 16:42

тогда очень странно, если .htaccess принимается, rewrite подключен, то должно работать(после установки пакетов под lamp обычно другое не требуется), может еще кто что подскажет, но если drupal с оригинальным .htaccess в корне и не работают чистые ссылки, то это точно проблема в настройках апача. А в них я, к сожалению, не очень силен, знаю только, что в зависимости от версии он будет довольно сильно отличаться.

Аватар пользователя sg85 sg85 20 апреля 2012 в 22:06

В php дело будет, только если Вы ядро хакали, стандартный .htaccess(из комплекта), тоже на всех серверах обычно работает, от сюда следует, что drupal тут не причем(joomla, к примеру, без рабочих чистых ссылок, по моему, вообще не встанет), вот и остается копать в сторону апача.

Аватар пользователя Softovick Softovick 21 апреля 2012 в 12:46

raiml wrote:
Была та же проблема. Решил. Надо положить этот файл в корень сайта и убрать из названия dot.

Рамиль, в чем отличие от оригинального .htaccess? Я вот не нашел разницы между твоим файлом и оригинальным из Drupal 7

Аватар пользователя Softovick Softovick 21 апреля 2012 в 13:54

raiml wrote:
Так и есть. Просто у меня вот почему то не было этого файла при установке Commerce Kickstart. Я его скопировал в корень сайта. Мне помогло.
Информацию почерпнул из http://drupal.org/getting-started/clean-urls[/quote]
Рамиль, явно ты не читал топик - автор ясно пишет, что .htaccess есть уже

Аватар пользователя multpix multpix 21 апреля 2012 в 13:44

"raiml" wrote:
Просто у меня вот почему то не было этого файла

просто файловый манагер из вашей панели управления не отображает скрытые файлы)))

вебморда для такого дела - зло))

Аватар пользователя raiml raiml 21 апреля 2012 в 14:08

"Softovick" wrote:
Рамиль, явно ты не читал топик - автор ясно пишет, что .htaccess есть уже

Я это понял. Но он же в нем что то менял. Может просто сейчас вернуть его в первоначальное состояние?
"multpix" wrote:
просто файловый манагер из вашей панели управления не отображает скрытые файлы)))

вебморда для такого дела - зло))


Я не использую вебморду, и файла там не было.

Аватар пользователя multpix multpix 21 апреля 2012 в 14:31

"raiml" wrote:
Я не использую вебморду, и файла там не было.

одно другому не мешает))

тогда что мешало посмотреть в корень после drush drupal
ls -la и все дела (в случае апача конешно-же))

в таком деле подход "почему-то" не шарман
если меня память не подводит, то боксы с дорг укомплектованы все

Аватар пользователя sg85 sg85 21 апреля 2012 в 14:42

Там, кстати, мне 1 пункт понравился, предлагается специально сломать .htaccess, поместив туда какой-либо мусор(на время проверки), и словить 500ю ошибку на сайте, если 500 ошибки нет - значит апач не принимает .htaccess. Как-то сам до такого не додумался, видимо интелект человека недалеко ушел от обезьяны(вспоминаются школьные уроки биологии, где в подобной ситуации оказалась макака, на основании чего ученые сделали вывод - у макаки интелект отсутствует, видимо у меня тоже)

И если вдуматься, то там(http://drupal.org/getting-started/clean-urls) рассмотрены все возможные причины, почему ссылки могут не работать, все что нужно - некоторое знание английского и точно следовать инструкции, причем, если не помогло - значит какой-то из пунктов был недовыполнен по невнимательности.

Аватар пользователя kikkoeru kikkoeru 24 апреля 2012 в 13:31

Всем спасибо.
Проблема решилась, правда не совсем понятно каким образом. Правила и httpd и htaccess, а потом зашла на тест чистых ссылок и просто удалила "нечистую" часть в урл и появился вожделенный чекбокс.