url-адрес htaccess переписывается из запроса запроса в папку «нравится» и изменяет имя php

#.htaccess #redirect #mod-rewrite #url-rewriting #friendly-url

Вопрос:

Как я могу сделать следующее на локальном хосте, который будет размещен позже в Интернете:

У меня есть эта ссылка:

http://localhost/shops/shop.php?c=15

Я хочу переписать его на http://localhost/shops/shop/15

htaccess есть(который помещен в C:wampwwwshops folder ):

 RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?RECIPES/(.*?)/?$ /single-product-details.php?=$1 [L]
RewriteRule ^/?SHOP/(.*?)/?$ /shop.php?=$1 [L]
 

Комментарии:

1. Пожалуйста, поделитесь своим файлом правил htaccess в своем вопросе, спасибо.

2. Перезаписать На RewriteCond %{REQUEST_FILENAME} ! -f перезаписать секунду %{ИМЯ ФАЙЛА ЗАПРОСА} ! -d переписать ^/?РЕЦЕПТЫ/(.*?)/?$ /single-product-details.php?=$1 [L] Рерайтер ^/?МАГАЗИН/(.*?)/?$ /shop.php?=1 доллар [Л]

Ответ №1:

С показанными вами образцами, пожалуйста, попробуйте следовать Правилам. Поместите свой файл htaccess вместе с папкой «Магазины» (не внутри нее).

Пожалуйста, не забудьте очистить кэш вашего браузера перед тестированием ваших URL-адресов.

 RewriteEngine ON
RewriteBase /shops/
##External redirect to friendly url.
RewriteCond %{THE_REQUEST} s/shops/(shop).php?c=(d )s [NC]
RewriteRule ^ /%1/%2? [R=301,L]
##Internal rewrite to actual url/files.
RewriteRule ^([^/]*)/(.*)/? $1.php?c=$2 [QSA,L]
 

Комментарии:

1. Это не сработало, по-прежнему отображается: localhost/iCook/shop.php?c=5

2. его включили с apache для перезаписи, я также очистил кэш

3. @AliElMenini, на какой URL вы нажимаете?

4. @AliElMenini, хорошо, значит, вы хотите перенаправить с localhost/shops/shop.php?c=7 НА localhost/shops/shop в браузере? Пожалуйста, подтвердите один раз.

5. Я хочу, чтобы localhost/магазины/shop.php?c=7 был похож на localhost/магазины/магазин/7