У меня есть URL-адрес, который я хочу переписать. mysite.com/accounts?id=test
должен быть направлен в mysite.com/accounts.php?id=test
. Я проверил свой mod_rewrite
, он работает, поскольку другие страницы могут быть написаны правильно. Сейчас я пытаюсь это:Проблемы с переписыванием URL-адресов
RewriteRule ^accounts?([.]+)$ accounts.php?$1 [NC,L]
Это не похоже на работу. Это из-за вопросительного знака в регулярном выражении? Я попытался убежать от него, но он все еще не работает.
Любая помощь будет оценена по достоинству.
Почему бы не потерять этот знак вообще и сделать идентификатор ни подпапкой, ни страницей. Тогда правило будет выглядеть примерно так: RewriteRule^accounts /([.]+). Html $ accounts.php? Id = $ 1 – furrie
Возможно, я ошибаюсь, но почему точка между []? Это не то же самое, что '(. *)'? Я думаю, что 'RewriteRule^accounts? (. *) $ Accounts.php? $ 1 [NC, L]' должен работать. – Rik
@Rik, этот вид сработал .. теперь найден хотя бы файл account.php. (он имел обыкновение давать 404). Теперь в первой строке я написал die ($ _ GET ['id']) только для проверки, он возвращает пустое. Есть идеи? – l3utterfly