Переписывание URL-адреса с двумя параметрами URL

#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. Спасибо, что помогли мне, ответив на мой вопрос. Я голосую за вас. Это максимум, что я могу сделать здесь для вас 🙂