#.htaccess
#.htaccess
Вопрос:
Я пытаюсь понять, как удалить параметры $ _GET из URL.
Я использую PHP для переключения содержимого, чтобы я мог использовать одну страницу (index.php ).
Примером URL является: www.example.com/?page=test ИЛИ www.example.com/index.php?page=test
Я хочу, чтобы это было так, если что-нибудь после и включая? удален.
Таким образом, результат всегда будет отображаться: www.example.com / ИЛИ www.example.com
Заранее благодарю.
Ответ №1:
Поместите этот код в свой DOCUMENT_ROOT/.htaccess
файл:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^page=test$
RewriteRule ^(index.php)?$ $0? [L,NC]
Комментарии:
1. Спасибо за помощь, нужно просто загрузить индексную страницу, а запрос все еще находится в URL, я хочу, чтобы URL был чистым, без запросов, для всех запросов, не могли бы вы также объяснить, что все это значит, пожалуйста? Заранее благодарю.
2. Существует
?
in$0?
, который удалит любой запрос на перезаписанной странице. Вы запросили без перезагрузки страницы , поэтому URL в браузере по-прежнему показывает строку запроса, но внутренне ее нет.3. Та же проблема? (в справочных целях) Я нашел способ обойти это, создав «виртуальные» каталоги, используя .htaccess для определенных параметров, таких как: www.example.com/folder / распознается как www.example.com/index.php?page=folder (Google: виртуальный каталог .htaccess), и спасибо за вашу помощь, анубхава.
4. Если у вас все получится, вы можете пометить этот ответ как принятый, нажав на галочку в левом верхнем углу этого ответа.