Как добраться.файлы htaccess, работающие с Apache VirtualHost
моя проблема в том, что мой .htaccess
файл на моем локальном сервере не читается. Настройки в VirtualHost
файл, похоже, всегда имеет приоритет.
я попробовал следующее:
- включено
mod_rewrite
- изменил
AllowOverride
toAll
но это вызываетHTTP Error 500 Internal server error
. Я пробовал его с различными вариантами, но он всегда вызывает ошибку 500.
я использую файл VirtualHost на Ubuntu, который выглядит как следующий:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
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>
в своем под /web/website
у меня есть следующие правила (которые не читаются):
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/ [L]
RewriteCond %{HTTP_USER_AGENT} ^facebookexternalhit
RewriteRule ^(.*)$ ogtags.php? [L,QSA]
ErrorDocument 404 /404
ErrorDocument 401 /401
одна вещь, которую я пробовал, которая работала, это добавление этих правил непосредственно в файл VirtualHost, но я хотел бы, чтобы мой .htaccess
файл для работы! Это такая большая просьба? :(
Edit: поэтому я посмотрел в моем apache error.log
и говорит Invalid command 'Action', perhaps misspelled or defined by a module not included in the server configuration
ссылаясь на мою . Кажется, нет модуля под названием Действие, которое я могу позволить. Есть идеи?
Edit 2: я заметил, что мой пусто. Если это имеет значение, так как я использую VirtualHost
файлов?
2 ответов
после просмотра моего apache error.log
Я понял, что мне просто нужно включить Apache actions
модуль:
sudo a2enmod действия
и не более 500 внутренних ошибок сервера!
надеюсь, это поможет кому-то вниз по линии :)