Я знаю, что на этот ответ больше всего ответили, но я не могу найти решение для меня. Я написал файл .htaccess для перезаписи URL. У меня есть некоторые страницы йоту GET URL, как:RewriteRule не работает с htaccess
example.com/home.php?page=profile
example.com/home.php?page=forum
example.com/home. PHP? страница = продукт & ID = 1
мне нужно перенаправить с example.com/home.php?page=forum на example.com/home/forum
Итак, это Htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
RewriteRule ^/home/([A-Za-z0-9-]+)/?$ home.php?page=$1 [L,R=301]
SecFilterEngine Off
<Files .htaccess>
order allow,deny
deny from all
</Files>
Options All -Indexes
Когда я печатаю URL-адрес: example.com/home/forum, я перенаправляюсь на example.com/home.php?page=forum , так что обратная функция. Что я делаю неправильно?
Что происходит вместо правильной работы? Я заметил, что у вас есть ведущий '/' on '/ home', но в контексте .htaccess'/'не будет сопоставлен. URI с этой точки зрения - это просто 'home/profile', а не'/home/profile'. –
Теперь он работает наоборот: если я перейду к example.com/home/profile, перенаправите меня в example.com?page=profile. Мне нужна обратная функция. –
Пожалуйста, измените свой вопрос, чтобы точно указать URL-адрес ввода, который отправляет браузер, URL-адрес Apache обрабатывается внутренне и URL-адрес вывода, который в конечном итоге отображается в адресной строке браузера. –