Первое, что привлекает мое внимание, заключается в том, что ваш обычный URL-адрес не так чист, чтобы начать с него. Я бы посоветовал вам удалить пробелы и изменить их для дефисов - если это возможно. URL-адрес также не чувствителен к регистру, поэтому для символов верхнего регистра фактически не используется, но использование их является личным предпочтением, хотя оно делает их менее читаемыми, а при переписывании это дополнительный процесс для их изменения.
При переписывании URL-адреса вы должны подумать о своем URL-адресе. Существует домен, который разделен на: субдомен (www), доменное имя (tangailbazar) и домен верхнего уровня (com). После того, как домен начнет очистку (вы также можете сделать много перезаписи в домене, но в вашем случае вы не будете).
Чтобы сделать процесс перезаписи понятным и понятным (поскольку переписывание URL-адресов с помощью mod_rewrite может привести к массивным головным болям), вы хотите, чтобы каждая часть переписанного URL-адреса (между слэшами) переводилась в параметр в необработанном URL-адресе. Таким образом, в вашем случае: ID=9014&show=Hot and Cool Water Filter
- это два параметра, которые должны использоваться в вашем чистом URL-адресе. При переписывании URL-адреса вы выбираете значение ключа (параметра) ID
и show
и используете их в своем чистом URL-адресе. В вашем случае вам нужен параметр ID в чистом URL-адресе, иначе вы не сможете загрузить целевой URL-адрес.
RewriteRule ^.+/(.+)/(.+)+$ adview_details.php?ID=$1&show=$2 [L]
Это правило будет изменить запрос на:
www.tangailbazar.com/9014/Hot%20and%20Cool%20Water%20Filter
в:
www.tangailbazar.com/adview_details.php?ID=9014&show=Hot%20and%20Cool%20Water%20Filter
Это лучшее, что вы можете сделать в этом случае, в противном случае вам придется изменить некоторые вещи о структуре целевого URL.
Важная вещь, которую вам нужно получить, заключается в том, что переименование URL-адреса вводит в заблуждение, вы на самом деле ничего не переписываете, вы переводите запрошенный URL-адрес из браузера в URL-адрес, где находится страница. Таким образом, это скорее «URL-перевод», чем «переписывание URL». При создании удобного URL-адреса вы большую часть времени удаляете ключи параметров (show =) и расширение файла (.php) из URL-адреса, чтобы сделать их более читаемыми.
Вам всегда нужно использовать динамические компоненты в своем URL-адресе, и вы можете очистить статические части.
Я надеюсь, что это поможет вам решить вашу проблему или, по крайней мере, сделать некоторые вещи понятными при переписывании URL-адресов.
Удачи вам!
Вам придется либо вставлять 9014 в URL или карту горячей и Cool-Water-Filter вернуться к нему, если это важное число. – user2864740
Использование переполнения стека захода на посадку включает в себя идентификатор и заголовок вопроса, но только поиск по его идентификатору (название становится полезным при создании чистого URL-адреса, хотя технически это необязательно) –
Ваш скрипт уязвим для SQL-инъекций; вы должны прочитать [как их предотвратить] (http://stackoverflow.com/q/60174/53114). – Gumbo