Как решить аналогичное количество комбинаций параметров в URL, используя правило переписывания мод в Htaccess PHP - PullRequest
0 голосов
/ 27 мая 2019

У меня есть четыре URL, которые нужно оптимизировать с помощью ht-access PHP.

Все значения параметров хранятся в БД.

Первый URL : имеет ДВА параметра и значения в неоптимизированном URL.

  • 1st - (scode) Параметр, используемый для алфавитов - Пример: только коды состояния: DL или AP

  • 2nd - (disturl) Параметр, используемый для алфавитов, букв и символов - Пример: РайонНазвание: Район "Ист-Годаварай" в штате Андхра-Прадеш.

Первый рабочий URL - проверочный код.

Второй URL : имеет ТРИ параметра изначения в неоптимизированном URL.

  • 1-й - (scode) Только параметры Буквы - Пример: AP

  • 2-й - (disturl) Параметртолько алфавиты и гипсы Пример: восток-годавари

  • 3-й - (талукурл) Только параметры Алфавиты и гипсы пример: визаг-запад

Второй URLтакже работает - Проверьте код

Третий URL : имеет ДВА параметра и значения в неоптимизированном URL.

  • 1st - (scode) Параметртолько Аlphabets - Пример: AP

  • 2-й - (заливка) Только параметры Алфавиты, числа и гипсы Пример: Narasaraopeta-712345

Url - Не работаетОшибка - отображение второй страницы URL-адреса. Данные не отображаются.

Четвертый URL-адрес : содержит ДВА параметра и значения в неоптимизированном URL-адресе.

  • 1-й - (scode) Только параметры Буквы - Пример: AP

  • 2-й - (пин-код) Только номера параметров - Пример: 712345

Url - не работает ошибка - отображается вторая страница URL - данные не отображаются.

Я пытался проверить каждое правило отдельно, первое правило и второе правило работали.Когда я пытался удалить 1-й и 2-й URL-адреса, тогда работал третий URL-адрес, а в 4-м правиле отображается страница 3-го правила URL.

RewriteEngine On 

RewriteRule ^([0-9a-zA-Z]+)/([-|0-9|a-z|A-Z]+)\.php$ dist.php?scode=$1&disturl=$2 [NC]

RewriteRule ^([0-9a-zA-Z]+)/([-|0-9|a-z|A-Z]+)/([-|0-9|a-z|A-Z]+)\.php$ pos.php?scode=$1&disturl=$2&talukurl=$3 [NC]

RewriteRule ^([a-zA-Z]+)/([-|0-9|a-z|A-Z]+).php loc.php?scode=$1&pourl=$2 [NC]

RewriteRule ^([a-zA-Z]+)/([-|0-9]+)\.php$ pincode.php?scode=$1&pincode=$2 [NC]

Я ожидаю, что результат будет выглядеть как Оптимизированные URL.

Первое правило: Основной URL: https://www.example.com/dist.php?scode=ap&disturl=krishna

Оптимизированный URL:https://www.example.com/ap/krishna.php

Второе правило: Основной URL: https://www.example.com/pos.php?scode=ap&disturl=krishna&talukurl=east-godavari

Оптимизированный URL: https://www.example.com/ap/krishna/east-godavari.php

Третье правило: Основной URL: https://www.example.com/loc.php?scode=ap&pourl=krishnalanka-342563

Оптимизированный URL: https://www.example.com/ap/krishnalanka-342563.php

Четвертое правило: Основной URL: https://www.example.com/pincode.php?scode=ap&pincode=342563

Оптимизированный URL: https://www.example.com/ap/342563.php

1 Ответ

0 голосов
/ 27 мая 2019

Вы не можете сделать это только с данными, если сначала не посмотрите каждую возможную комбинацию параметров в вашей базе данных до того, как передаст ее соответствующему сценарию, также будут пропущены неуникальные комбинации параметров. Вместо этого попробуйте добавить префикс каждого типа URL к другому слагу, например https://www.example.com/pos/ap/krishna/east-godavari

...