#php #apache #.htaccess #mod-rewrite #url-rewriting
#php #apache #.htaccess #мод-перезапись #url-переписывание
Вопрос:
Я пытаюсь переписать URL-адрес для URL-адреса с двумя параметрами get, я хочу скрыть страницу:
status/mystatus.php?=reference=1234amp;postcode=LL1 LL2
В:
status/1234/LL1 LL2
Я попытался использовать следующий код:
RewriteRule ^status/([a-z0-9A-Z] )/([a-z0-9A-Z] )$ status/mystatus.php?reference=$1amp;postcode=$2 [NC,L]
Но, похоже, это не работает, так что я делаю не так?
(Модуль включен, я использую Apache)
Комментарии:
1. после того, как вы «включили модуль», вы перезапустили Apache?
2. На самом деле это не под моим контролем, но я знаю, что это работает, потому что он работает с другим URL-адресом, например, я могу отправлять запросы на получение подробной информации details.php
3. как упоминал @ShivanRaptor, убедитесь
RewriteEngine On
, что он находится в верхней части вашего файла .htaccess.
Ответ №1:
Попробуйте изменить выражения внутри круглых скобок на [^/]
, чтобы это выглядело так:
RewriteRule ^status/([^/] )/([^/] )$ status/mystatus.php?reference=$1amp;postcode=$2 [NC,L]
Потому [a-z0-9A-Z]
что не будет соответствовать таким вещам, как » «.
Ответ №2:
RewriteRule ^status/(.*)/(.*) (.*)
Комментарии:
1. Спасибо, что помогли мне, ответив на мой вопрос. Я голосую за вас. Это максимум, что я могу сделать здесь для вас 🙂