Переписывает URL на другой URL через htaccess - PullRequest
0 голосов
/ 11 января 2019

У меня есть дилемма от одного из моих коллег по поводу перенаправления через .htaccess.

Ниже приведены примеры форматов:

1). Оригинальный URL:

https://en.example.com/product_info.php/1596-dry-out-standard-set-p-255?osCsid=50cqlnno30m6dcpb45kkooat36

URL перенаправления:

https://en.example.com/products/s-39-ms-1596-dry-out-standard-set

2). Оригинальный URL:

https://en.aersampling.com/product_info.php/bottle-ldpe-wide-mouth-p-120?osCsid=50cqlnno30m6dcpb45kkooat36

URL перенаправления:

https://en.aersampling.com/products/pn-385-bottle-ldpe-wide-mouth-1-liter

Я не знаю, что делать на самом деле, пожалуйста, посоветуйте. Спасибо.

1 Ответ

0 голосов
/ 11 января 2019

Это не будет работать - проблема в том, что информация в исходном URL отличается от URL перенаправления. То есть, вы получили данные в одном, а не в другом. На самом деле все правила перезаписи могут соответствовать шаблону URL и перемещать данные, чтобы переформатировать URL.

Лучшее, что вы можете сделать, это примерно так:

RewriteRule ^product_info.php/(.+)-p-[0-9]+ products/$1? [L]

Но при этом пропускается такая информация, как s-39-ms-1 и pn-385.

То же самое имеет место, если вы действительно хотите замаскировать URL-адреса, чтобы URL-адрес перенаправления маскировал исходный.

Данные, присутствующие в URL-адресах «перенаправления», не совпадают с данными в исходных, так что вы действительно не сможете сделать это с помощью чистого htaccess.

Что вы могли бы сделать, это настроить метод, с помощью которого пользователь отправляет запрос, который затем направляет к специальному сценарию, который анализирует URL-адрес, запрашивает ваше хранилище данных и создает новое, извлекая недостающую информацию.

Это достаточно просто, если вы действительно хотите перенаправить, потому что вы просто скажете сценарию перенаправить пользователя, но получите беспорядок, если вы хотите замаскировать URL-адрес, потому что вам придется идти и обслуживать страницу непосредственно на скрипт обработки.

Надеюсь, это поможет.

...