.htaccess дает internal error 500

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

.htaccess дает internal error 500

Сообщение SLEDopit »

На сервере установлен апач. Вот его конфиг:

Код: Выделить всё

 # cat /etc/apache2/apache2.conf|grep -v ^\#|grep -v ^$
ServerRoot "/etc/apache2"
LockFile /var/lock/apache2/accept.lock
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>
<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
AccessFileName .htaccess
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>
DefaultType text/plain
HostnameLookups Off
ErrorLog /var/log/apache2/error.log
LogLevel warn
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
Include /etc/apache2/ports.conf
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined
Include /etc/apache2/conf.d/
Include /etc/apache2/sites-enabled/
NameVirtualHost *:443
<VirtualHost _default_:443>
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl.crt/server.crt
    SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
</VirtualHost>
Include /usr/local/ispmgr/etc/ispmgr.inc
<Directory /home/user/www/site.ru>
    php_admin_value open_basedir "/home/user:."
    AllowOverride All
    Options Indexes FollowSymLinks
    Options +ExecCGI
</Directory>
<Directory /home/user/www/user.ru>
    php_admin_value open_basedir "/home/user:."
    AllowOverride All
    Options Indexes FollowSymLinks
    Options +ExecCGI
</Directory>
NameVirtualHost 123.456.78.90:80
<VirtualHost 123.456.78.90:80>
    ServerName site.ru
    DocumentRoot /home/user/www/site.ru
    SuexecUserGroup user user
    CustomLog /var/www/httpd-logs/site.ru.access.log combined
    ErrorLog /var/www/httpd-logs/site.ru.error.log
    ServerAlias www.site.ru
    ServerAdmin info@site.ru
    DirectoryIndex index.php
    ScriptAlias /cgi-bin/ /home/user/www/site.ru/cgi-bin/
    php_admin_value open_basedir "/home/user:."
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f info@site.ru"
    php_admin_value upload_tmp_dir "/home/user/mod-tmp"
    php_admin_value session.save_path "/home/user/mod-tmp"
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
    AddType application/x-httpd-php-source .phps
</VirtualHost>
<VirtualHost 123.456.78.90:80>
    ServerName user.ru
    DocumentRoot /home/user/www/user.ru
    SuexecUserGroup user user
    CustomLog /var/www/httpd-logs/user.ru.access.log combined
    ErrorLog /var/www/httpd-logs/user.ru.error.log
    ServerAlias www.user.ru
    ServerAdmin info@user.ru
    DirectoryIndex index.php
    ScriptAlias /cgi-bin/ /home/user/www/user.ru/cgi-bin/
    php_admin_value open_basedir "/home/user:."
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f info@user.ru"
    php_admin_value upload_tmp_dir "/home/user/mod-tmp"
    php_admin_value session.save_path "/home/user/mod-tmp"
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
    AddType application/x-httpd-php-source .phps
</VirtualHost>
но если я кидаю в корень сайта .htaccess (приведен ниже), то выдается internal error 500.
вот сам .htaccess (стандартный от джумлы):

Код: Выделить всё

[20 Окт 2009 18:51:34] root@server  /home/user/www/site.ru
 # cat .htacce*|grep -v ^\#|grep -v ^$
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]     ##îïöèîíàëüíî - ñìîòðèòå ïðèìå÷àíèÿ##
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$  [NC]
RewriteRule ^(view/|content/|component/) index.php
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
в логах (/var/log/apache2) ничего связанного с этой ошибкой нет.
в чем может быть проблема?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
durm
Сообщения: 11
ОС: Arch linux =)

Re: .htaccess дает internal error 500

Сообщение durm »

подключите mod_rewrite
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: .htaccess дает internal error 500

Сообщение diesel »

Стоит: добавить <IfModule mod_rewrite.c> ... RewriteRules </IfModule>, на случай если таки модуля такого в apache нет. Иногда надо еще указывать RewriteBase, скорее всего RewriteBase /.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: .htaccess дает internal error 500

Сообщение SLEDopit »

durm писал(а):
21.10.2009 12:31
подключите mod_rewrite
да, я че то проглядел:

Код: Выделить всё

Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

а rewrite в mod-available лежал. виноват, пойду отсыпаться))
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали: