Добрый день, установил себе LAMP, установил друпал, все работает на ура, только чистые ссылки не включаются. Облазил весь drupal.ru и drupal.org, ни одно решение мне не помогло. Уже и не знаю что делать, сначало забил, решил что включу на хостинге. Но оказалось что связка imagecache + imagefield не работает если чистые ссылки выключены. Поэтому пришлось опять проштудировать оба форума и опять ни к чему не пришел.
Последняя надежда на гуру, помогите уже решить это проблему. Может кто нибудь покажет рабочие конфиги как правильно надо конфигурировать хосты, апач, .htaccess и тд
P.S. rewrite включен.
Комментарии
Проверить настройки apache сервера на наличие mod rewrite (если не ошибаюсь). Он по идее должен быть включен.
По идее можно с консоли даже так:
sudo a2enmod rewrite
Проверь настройки апача:
RewriteEngine On
Все это пробовал на 2 раза, ничего не помогает. Модуль rewrite включен. Убедился аж двумя способами, через консоль и через функцию phpinfo()
Читайте
Если mod_rewrite включен, то
либо разрешайте .htaccess либо rewrite rules прописывайте в конфиге веб-сервера.
Здесь все варианты рассмотрены
К сожалению и это читал:(все бестолку.
1. должен присутствовать .htaccess (желательно оригинальный)
2. влючен mod_rewrite
3. в конфиге апача обязательно пропишите директиву "AllowOverride" вот так:
AllowOverride All
</Directory>
или вот так:
У меня все эти условия соблюдаются и все работает. Конечно не на убунте, а на арче, но разницы нет.
если не помогает, прочитайте http://drupal.org/node/15365 еще раз. Там немного, но упустить что-то можно всегда.
У вас .htaccess в корне сайта существует?
Stan.Ezersky, да существует.
Вот код модуля rewrite:
RewriteEngine on
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]
</IfModule>
Конфиг хоста:
ServerName drupal
ServerAdmin webmaster@localhost
ServerAlias *.drupal
DocumentRoot /var/www/drupal/httpdocs
<Directory /var/www/drupal/httpdocs/*>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/www/drupal/logs/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/www/drupal/logs/access.log combined
</VirtualHost>
.htaccess:
# Apache/PHP/Drupal settings:
#
# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl|svn-base)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$">
Order allow,deny
</FilesMatch>
# Don't show directory listings for URLs which map to a directory.
Options -Indexes
# Follow symbolic links in this directory.
Options +FollowSymLinks
# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php
# Force simple error message for requests for non-existent favicon.ico.
<Files favicon.ico>
# There is no end quote below, for compatibility with Apache 1.3.
ErrorDocument 404 "The requested file favicon.ico was not found.
</Files>
# Set the default handler.
DirectoryIndex index.php
# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.
# PHP 4, Apache 1.
<IfModule mod_php4.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
</IfModule>
# PHP 4, Apache 2.
<IfModule sapi_apache2.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
</IfModule>
# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
</IfModule>
# Requires mod_expires to be enabled.
<IfModule mod_expires.c>
# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600
# Do not cache dynamically generated pages.
ExpiresByType text/html A1
</IfModule>
# Various rewrite rules.
<IfModule mod_rewrite.c>
RewriteEngine on
# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
#
# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# uncomment and adapt the following:
# RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
# RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
# Modify the RewriteBase if you are using Drupal in a subdirectory or in a
# VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at http://example.com/drupal uncomment and
# modify the following line:
# RewriteBase /drupal
#
# If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line:
# RewriteBase /
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
# $Id: .htaccess,v 1.90.2.3 2008/12/10 20:04:08 goba Exp $
default
ServerAdmin webmaster@localhost
ServerName drupal.homeip.net
DocumentRoot /home/drupal/public_html
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Directory "/home/drupal/public_html">
AllowOverride All
</Directory>
</VirtualHost>
Stan.Ezersky, сделал все как у вас, и почему то вообще перестал открываться друпал, точнее открывается, а там надпись только It Works
Чушь какая то, ни черта не понимаю
It Works, если мне не изменяет память, выскакивает при обращение к адресу http://localhost (/var/www/index.html), так что проверяйте правильность путей в default и hosts
.htaccess дефолтный
ServerName drupal.homeip.net это вам не нужно, если не пользуетесь сервисом dyndns
Вот вам ещё и пример файла hosts (находится /etc)
127.0.0.1 localhost
127.0.0.2 drupal.loc
192.168.0.101 drupal.homeip.net
# The following lines are desirable for IPv6 capable hosts
.....................
Доп
Файл httpd.conf в директории /etc/apache2 должен содержать
ServerName localhost
Файл 000-default в директории /etc/apache2/sites-enabled должен содержать в первой строчке
nameVirtualHost *:80
и можете написать так:
ServerAdmin webmaster@localhost
DocumentRoot /var/www/drupal
ServerName phpmyadmin
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Directory "/var/www/drupal">
AllowOverride All
</Directory>
</VirtualHost>
Не забудьте добавить изменения в hosts
это пипец, вообще все тоже самое сделал, уже даже апач и все остальное переставил, ну не работает хоть тресни. Ладно, спасибо большое за помощь, буду читать доки.
Работаю с:
Ubuntu 9.10
Apache2
Drupal 6.15
Также возникла проблема с включением чистых ссылок в Drupal. На заморочку поиска решения проблемы ушли сутки. В итоге удалось таки включить чистые ссылки. В моём случае решением было:
sudo a2enmod rewrite
— активируем сам модульв моём случае пришлось прописать в файлах конфига сайта правила что написанны в .htaccess, там почему то они не работали, хотя в конфигах самого апача .htaccess был разрешен.
Тоже провозился почти полдня, пока не наткнулся на данный совет.
Действительно, по каким то только Ubuntu ведомым причинам при автоматической распаковке файла .htaccess не было. Либо его снесло при инсталляции. Так или иначе, переписав его снова ручками в корень, все заработало.
А поначалу тоже полез в форумы по апачи.
И все же пока легкой автоматизации по первичной настройке не хватает. Сравниваю просто пока Битрикс, ну это мое имхо личное, конечно. Друпал я пока что начал изучать и доволен, очень доволен. Есть куда еще стремиться, но все равно гибче Битрикса, если говорить о стандартных средствах управления через панель.
У меня заработала так и на 6 и 7:
Ubuntu 13.04 + nginx
в конце файла /etc/nginx/sites-available/filmul.ru.vhost перед закрывающей "}" добавил:
index index.php;
# This is cool because no php is touched for static content
try_files $uri $uri/ @rewrite;
expires max;
}
location @rewrite {
# Some modules enforce no slash (/) at the end of the URL
# Else this rewrite block wouldn't be needed (GlobalRedirect)
rewrite ^/(.*)$ /index.php?q=$1;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /srv/www/www.filmu.ru/public_html$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/php-fpm.sock; # fastcgi_pass unix:/tmp/php5-fpm.sock;
}
может в этом коде что-то лишнего, но у меня работает, если нужно добавить или удалить подскажите.
2vyck24, Вам осталось объяснить людям что это за файл, каким боком он относится к их сайту, и как заставить все это дело работать еще и через прокси(такой вариант встречается чаще), а вообще, последнему посту в теме полтора года и не думаю, что это актуально![Wink](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/wink.gif)
Кроме того, через реврайт настраивать nginx под ЧПУ не правильно
обьяснить не могу, я этот код взял с англииского форума, там может и было сказоно что и как но сейчас не помню где сказано, так что сори