Добрый день у меня стоитDebian
apache 1.3Не могу подключить mod_rewrite, в httpd.conf нет искомых строчек,
LoadModule rewrite_module modules/mod_rewrite.so
AddModule mod_rewrite.cесли добавляю их и запускаю апач, то ругается
Starting apache 1.3 web server...
[Wed Dec 19 17:18:40 2007] [warn] module rewrite_module is already loaded, skipping
[Wed Dec 19 17:18:40 2007] [warn] module mod_rewrite.c is already added, skipping
в /etc/apache/modules.conf есть LoadModule rewrite_module /usr/lib/apache/1.3/mod_rewrite.so
>[оверквотинг удален]
>LoadModule rewrite_module modules/mod_rewrite.so
>AddModule mod_rewrite.c
>
>если добавляю их и запускаю апач, то ругается
>
>Starting apache 1.3 web server...
>[Wed Dec 19 17:18:40 2007] [warn] module rewrite_module is already loaded, skipping
>
>[Wed Dec 19 17:18:40 2007] [warn] module mod_rewrite.c is already added, skipping
>Модуль может быть либо compiled-in, либо Вам необходимо очистить список модулей и подключить их заново.
Чтобы проверить вкомпилен ли он в Ваш Apache:
httpd -l
или
/prefix/до/apache/bin/httpd -l
Результатом вы увидите список вкомпиленных модулей.
Либо очищайте список модулей, перед тем как их загружете с помощью директивы "ClearModules", затем LoadModule для всех модулей, затем AddModule в том порядке, который Вам нужен.
А как проверить что mod_rewrite подключился и работает?В httpd.conf написано:
LoadModule rewrite_module /usr/lib/apache/modules/mod_rewrite.soВ прекомпилированных модулях его нет.
в .htaccess :
#Options +FollowSymlinks
RewriteEngine On
RewriteBase /
# Fix Apache internal dummy connections from breaking [(site_url)] cache
RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
RewriteRule .* - [F,L]
# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com [NC]
#RewriteRule (.*) http://example-domain-please-change.com/$1 [R=301,L]
#
# or for the opposite domain.com -> www.domain.com use the following
# >>> DO NOT USE BOTH THE ABOVE AND BELOW <<<
#
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com [NC]
#RewriteRule (.*) http://www.example-domain-please-change.com/$1 [R=301,L]# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent
# https://www.domain.com when your cert only allows https://secure.domain.com
#RewriteCond %{SERVER_PORT} !^443
#RewriteRule (.*) https://example-domain-please-change.com.com/$1 [R=301,L]# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Стоит modx на OpenBSD. Apache встроенный.
По умолчанию файлы .htaccess не работают. grep AllowOverride httpd.conf
Если сервер Ваш пишите все конфиги в httpd.conf.
CentOS 5 way:в /etc/httpd/conf/httpd.conf есть LoadModule rewrite_module modules/mod_rewrite.so
в .htaccess :
Options +FollowSymlinks
RewriteEngine On
в /etc/httpd/conf/httpd.conf везде AllowOverride All. restart и работает.Debian Lenny way:
в /etc/apache2/ есть две папки mods-avaliadble и mods-enabled. соответственно создаем символическую ссылку из "доступных" в "задействованные".
# ln -s /etc/apache2/mods-available /etc/apache2/mods-enabled
далее по сути в /etc/httpd/conf/httpd.conf везде AllowOverride All. restart и работает.