Как мне использовать mod_rewrite для изменения пути и имени файла URL-адреса

StackOverflow https://stackoverflow.com/questions/105308

  •  01-07-2019
  •  | 
  •  

Вопрос

Я хочу взять URL-адрес:http://www.mydomain.com/signup-12345

И на самом деле дать им:http://www.mydomain.com/signup/?aff=12345

У меня НЕТ истории с mod_rewrite, ПОМОГИТЕ!

Это было полезно?

Решение

Что-то, что мне было относительно трудно выяснить, так это то, как сделать обратное тому, что вы делаете, когда вам нужно узнать значение части строки запроса.

Так, например:

Если вы хотите переписать URL-адрес:http://www.example.com/signup-Старый-сценарий.аспид?афф=12345

Для:http://www.example.com/signup-новое-сценарий.php?аффИД=12345

вы могли бы использовать:

RewriteCond %{query_string}& ^aff=((.+&)|&)$   
RewriteRule ^/signup-old-script.asp$    /signup-new-script.php?affID=%2 [L,R]

Обратите внимание на % войдите в правило перезаписи вместо $ подписать.

Я должен был сделать это, чтобы я мог поддерживать старые флэш-карты на новом сайте, на котором были ссылки на файлы ".cfm" с идентификатором в строке запроса.

Другие советы

Попробуй это :

RewriteRule ^/регистрация-(\d+)/$ /регистрация/?aff=$1 [I]

Насколько я знаю,

флаг приводит к игнорированию RewriteCond. - для "Игнорировать случай" - из IsapiRewrite версия 2

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top