Добрый день! Залил сайт на хостинг заказчика, он попросил залить в директорию drupal, я залил, он сделал редирект такой в htaccess в корень хостинга:
AddHandler application/x-httpd-php .php .php3 .php4 .htm .html .shtm .shtml
AddDefaultCharset UTF-8
Redirect 301 /index.html http://site.ru/drupal/
htaccess в папке с drupal НЕ трогался, родной!
Я добавил в settings.php
$base_url = 'http://site.ru/drupal';
Сайт не открывается, ошибка 500, при попытке запуска update.php
Parse error: syntax error, unexpected T_FUNCTION in /home/u186819/site.ru/www/drupal/sites/all/modules/l10n_update/l10n_update.admin.inc on line 100
Подозреваю, что проблема из-за www в пути файла.
Ответы
Значит все порешали - за решение ошибки спасибо boatsman'у, обновили php до 5.4 все стало ок :)
Если сайт у нас в директории /drupal но мы хотим, чтобы в адресной строке было не http://site.ru/drupal а по людски просто http://site.ru сделал так:
В директории с друпал .htaccess не трогаем!
В settings.php расскоментить $base_url = 'http://site.ru';
И в корень хостинга добавить htaccess с таким содержимым:
Options -Indexes
Options +FollowSymLinks
RewriteEngine on
# Redirect all user to without WWW
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
# Serve Drupal 7 from sub directory in web root
RewriteRule ^$ drupal/index.php [L]
RewriteCond %{DOCUMENT_ROOT}/drupal%{REQUEST_URI} -f
RewriteRule .* drupal/$0 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* drupal/index.php?q=$0 [QSA]
Нашел тут - http://kahthong.com/2011/05/how-serve-drupal-sub-directory-web-root-0
Версия php какая установлена?
PHP Version 5.2.17-2+mh1
https://www.drupal.org/requirements
Так в минимуме Drupal 7: PHP 5.2.5 or higher
А в логах ошибок апача на что указывает 500 ошибка?
А, сорри, что-то это я попутал да. Но дело все равно в версии php
ибо строка 100 в l10n_update.admin.inc выглядит так
т.е. вторым параметром в uasort передается анонимная функция, которые появились в php 5.3
Спасибо, дал задание их админу обновить php. У меня нет доступа. Как обновит отпишусь.
Php обновили, все заработало, спасибо большое, но новый косяк - теперь адрес выглядит типа site.ru/drupal. Вот хочется сделать просто site.ru. В settings.php убрал base_url, сделал её в .htaccess (в директории drupal). Что ещё сделать не соображу.