Моя проблема в том, что мой файл .htaccess
на моем локальном сервере не читается. Обычно настройки в файле VirtualHost
всегда имеют приоритет.
Я пробовал следующее:
- Включено
mod_rewrite
- Изменен
AllowOverride
наAll
, но это вызываетHTTP Error 500 Internal server error
. Я пробовал его с различными параметрами, но он всегда вызывает ошибку 500.
Я использую файл VirtualHost на Ubuntu, который выглядит следующим образом:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /web/website
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /web/website>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
В моем .htaccess
файле под /web/website
у меня есть следующие правила (которые не читаются):
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{HTTP_USER_AGENT} ^facebookexternalhit
RewriteRule ^(.*)$ ogtags.php?$1 [L,QSA]
ErrorDocument 404 /404
ErrorDocument 401 /401
Одна вещь, которую я пробовал, которая работала, добавляла эти правила непосредственно в файл VirtualHost, но я хотел бы, чтобы мой файл .htaccess
работает! Это такой большой вопрос?: (
Изменить: Итак, я посмотрел в своем apache error.log
, и он говорит Invalid command 'Action', perhaps misspelled or defined by a module not included in the server configuration
со ссылкой на мой файл .htaccess
. Кажется, что не существует модуля под названием Action, который я могу включить. Любые идеи?
Изменить 2: Я заметил, что мой файл httpd.conf
пуст. Должен ли этот вопрос использовать файлы VirtualHost
?