Как я включаю mod_rewrite на Apache??? Похоже, что это включено, но это не работает

Производительность для VMware Server 2 достойна. Я всегда пытаюсь получить самые быстрые жесткие диски, так как это получает самый большой служебный удар от слоя виртуализации. Я не рекомендовал бы выполнить серверы баз данных на VMware Server 2, если загрузка не очень легка.

Если бы Вы плохо знакомы с VMware, то я постепенно добавлял бы виртуальные машины и контролировал бы их производительность. Я обычно вес (на влиянии производительности) жесткие диски, затем RAM, затем ЦП.

0
задан 19 June 2009 в 23:45
2 ответа

Необходимо добавить mod_rewrite функциональность в конкретной области, где Вы хотите ее, или в Месте, VirtualHost или в .htaccess. Можно сделать это с

RewriteEngine on
RewriteRule   ^oldstuff\.html$  newstuff.html

Вы видите то, что модуль делает путем включения регистрирующий использование опций RewriteLog и RewriteLogLevel:

RewriteLog "/var/log/apache/rewrite.log" 
RewriteLogLevel 2

Уровень журнала подходит 9, но документация предостерегает от выхода за пределы 2 для производства. Я рекомендовал бы выключить его полностью, после того как Вы закончили отлаживать.

Можно найти больше информации в mod_rewrite документации.

Видя Ваше использование, кажется, что Вы пытаетесь отправить объекты, которые не существуют к index.php. Вы могли сделать что-то подобное, не используя mod_rewrite:

 ErrorDocument 404 http://this.server/path/index.php

Это перенаправило бы пользователя назад к index.php и потребует Вас к hardcode местоположение, которое не может быть идеальным.

С другой стороны, я рекомендовал бы инвертировать значение Ваших условий и удалил бы первый RewriteRule. "Если запрос не является файлом и не является ссылкой и не является каталогом, то перенаправьте к index.php". Это сделает Ваши правила более простыми. Можно также потерять флаг [NC] от RewriteRules, поскольку он не будет иметь никакого эффекта.

RewriteEngine On
RewriteCond ! %{REQUEST_FILENAME} -s
RewriteCond ! %{REQUEST_FILENAME} -l
RewriteCond ! %{REQUEST_FILENAME} -d
RewriteRule ^.*$ index.php [L]

(Я не проверил, что это работает),

3
ответ дан 4 December 2019 в 13:16
  • 1
    Я уже попробовал что-то как ^oldstuff\.html$ RewriteRule newstuff.html и это didn' t представляют новый материал. Это полностью проигнорировало переписать правило –  Andrew 19 June 2009 в 22:08
  • 2
    Что сделало переписать файл журнала, говорят? Если there' s ничто в файле журнала, затем it' s не поражающий тот раздел конфигурации. –  David Pashley 19 June 2009 в 22:10
  • 3
    По-видимому, я don' t имеют соответствующие полномочия включить вход и просмотреть журналы. Я предполагаю I' m оказывающийся перед необходимостью ожидать кого-то с разрешением получить его работа. –  Andrew 19 June 2009 в 22:26
  • 4
    хорошо, теперь у меня есть корневой доступ, но я can' t перезапускают апача. Я получаю Запуск httpd: [ОТКАЗАВШИЙ] (98) Адрес, уже используемый: make_sock: не мог связать для обращения [::]:80 (98) Адрес, уже используемый: make_sock: не мог связать для обращения 0.0.0.0:80 никакие доступные сокеты слушания, закрывшись Не могущий открыть журналы –  Andrew 19 June 2009 в 23:34
  • 5
    Похож на апачский didn' t остановка правильно и все еще работает. Останавливайте его обычно, проверяйте, чтобы видеть, существуют ли какие-либо процессы, все еще работающие, и уничтожают их. Затем запустите апача снова –  David Pashley 20 June 2009 в 00:17

Перезапустить сервер Apache?

0
ответ дан 4 December 2019 в 13:16

Теги

Похожие вопросы