Идея: я хочу сделать так, чтобы все, что идет после имени домена и заканчивается на .html, обрабатывалось как index.php
Пример: www.test.ro/1/2/3.html
на самом деле должно быть www.test.ro/index.php?var=1/2/3.html
.
www.test.ro
настроен как виртуальный хост для разработки, и AllowOverride
имеет значение All.
Файл .htaccess, похоже, обрабатывается, но не все время.Если я напишу нераспознанное правило, такое как BizzareRule, сервер будет работать без возврата ошибки кода 500.Если я поставлю правильные правила между <IfModule mod_rewrite.c></IfModule>
, я получу ошибку 500, даже если у меня есть другие vhosts, использующие те же условия и работающие идеально.
Вот содержимое моего vhost:
<VirtualHost *:80>
ServerAdmin eu@localhost.com
ServerName www.test.ro
ServerAlias test.ro
DocumentRoot D:/Projects/grabsite/test.ro
Options Indexes FollowSymLinks MultiViews
DirectoryIndex index.php index.html
LogLevel warn
ErrorLog D:/Projects/grabsite/test.ro/error.log
CustomLog D:/Projects/grabsite/test.ro/access.log combined
<Directory "D:/Projects/grabsite/test.ro">
Options -Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
И тестовое содержимое для .htaccess:
RewriteEngine On
RewriteRule ^/?([^/]*)\.html$ /index.php?seo=$1 [L]