Я пытаюсь реализовать перезапись URL в моем приложении PHP. Может кто-нибудь поделиться пошаговой процедурой реализации перезаписи URL в .htaccess.
В моем приложении я хочу реализовать следующий URL
www.domain.com/shop/shop.php?shopname=myshop&ш = 1
в
www.domain.com/shop/myshop
я использую следующие
RewriteEngine On
RewriteBase /shop/
RewriteCond %{THE_REQUEST} /shop\.php\?shopname=([^\s&]+)&sh=([^\s&]+) [NC]
RewriteRule ^ %1? [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ shop.php?shopname=$1&sh=$2 [L,QSA,NC]*
Он показывает URL-адрес, как www.domain.com/shop/myshop
Но не указывая на www.domain.com/shop/shop.php?shopname=myshop&ш = 1
Если я вас правильно понимаю, вы можете делать то, что вы хотите с:
RewriteCond %{QUERY_STRING} ^id=([^&]*)&name=(.*)$
RewriteRule ^/shop/shop.php$ /shop/$2?id=$1
RewriteCond проверяет строку запроса правильного формата и извлекает значения. $ 1 = идентификатор и $ 2 = имя.
RewriteRule переписывает URL-адрес правильного формата в новый формат, вставляя параметры имени и идентификатора из RewriteCond.
Других решений пока нет …