Вопрос

В прошлом мне успешно удавалось копировать / редактировать / вставлять правила перезаписи на сервере apache, над которым у меня был ограниченный контроль.

Сейчас, однако, я экспериментирую с сервером Apache, который я могу перезапустить и настроить по своему усмотрению, но я не могу заставить работать даже базовый пример перезаписи, и это после того, как я прочитал по крайней мере два руководства.Я играл с LogLevel и RewriteLog, но я не могу найти никаких реальных доказательств того, что используются мои действительно базовые правила перезаписи.Мой файл журнала перезаписи был создан, но он пуст.Я также пробовал комментировать каждую вещь из httpd.conf, но все это было переписано заново.

Давайте посмотрим, какую еще информацию я могу добавить:

chilcott:/etc/apache2/conf.d# uname -a
Linux chilcott 2.6.26-1-486 #1 Sat Jan 10 17:46:23 UTC 2009 i686 GNU/Linux


chilcott:/etc/apache2/conf.d# apache2ctl -V
Server version: Apache/2.2.9 (Debian)
Server built:   Jan 20 2009 17:29:25
Server's Module Magic Number: 20051115:15
Server loaded:  APR 1.2.12, APR-Util 1.2.12
Compiled using: APR 1.2.12, APR-Util 1.2.12
Architecture:   32-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT=""
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"
Это было полезно?

Решение

Есть ли у вас свои правила перезаписи в нужном разделе вашего httpd.conf?Вероятно, они должны быть в разделе vhost.

Публикация вашего httpd.conf (или, по крайней мере, его части) может помочь.

Это должно выглядеть примерно так:

LoadModule rewrite_module modules/mod_rewrite.so

RewriteLogLevel 9
RewriteLog ".....rewrite.log"


<VirtualHost *:80>
    DocumentRoot "..."

    RewriteEngine On
    RewriteRule ^/foo /bar
</VirtualHost>

Другие советы

Вам нужно загрузить модуль, чтобы использовать его.Поищите в своем файле httpd.conf строку, подобную следующей, и удалите начальный символ комментария # если таковые имеются:

#LoadModule rewrite_module modules/mod_rewrite.so

Затем вам просто нужно перезапустить ваш сервер Apache.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top