RewriteEngine не перезаписывает URL локально? - PullRequest
3 голосов
/ 31 января 2011
Options +FollowSymlinks

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteCond %{REQUEST_FILENAME} !-d # not a directory
RewriteRule ^(.+)$ index.php?params=$1 [L]

как видите, я пытаюсь преобразовать что-нибудь вроде

mysite.com / х / у / г

до

mysite.com / index.php? PARAMS = х / у / г

однако, это не работает. я попробовал mysite.com/home и поставил точку останова на первой строке index.php, но получил 404.

есть идеи, почему это не работает для меня? спасибо за все!

Ответы [ 2 ]

5 голосов
/ 31 января 2011

Сначала убедитесь, что на вашем сервере Apache включено mod_rewrite.

Затем удалите комментарии в конце строк:

# not a file
RewriteCond %{REQUEST_FILENAME} !-f
# not a directory
RewriteCond %{REQUEST_FILENAME} !-d

Из документации Apache:

Строки, начинающиеся с хеш-символа "#", считаются комментариями и игнорируются. Комментарии не могут быть включены в строку после директивы конфигурации.

1 голос
/ 31 января 2011

Похоже, либо mod_rewrite не установлен, либо не включен, либо вы установили директиву AllowOverride для определенного каталога на None.Измените его на (как минимум) FileInfo

...