Прежде всего убедитесь, что у вас есть mod_rewrite, и он включен. Для этого создайте пустой файл Php, затем добавьте <? phpinfo() ?>
и оформите его в своем браузере.
Если он включен, вы можете продолжать.
Если это файл .htaccess
, попробуйте использовать / без косой черты.
RewriteRule ^cats$ /index.php?cat=cats
или
RewriteRule ^/cats$ /index.php?cat=cats
А если этого недостаточно:
Два совета:
Если вы не в размещенной среде (= если это ваш собственный сервер и , вы можете изменить виртуальные хосты (не только файлы .htaccess
), попробуйте использовать директиву RewriteLog
: она поможет вам отследить такие проблемы:
# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On
Мой любимый инструмент для проверки регулярных выражений:
http://www.quanetic.com/Regex (не забудьте выбрать ereg (POSIX) вместо preg (PCRE)!)