Правило htaccess не работает на localhost

Извините, я изменил предыдущий вопрос. У меня проблема с .htaccess rewrite rule на localhost, у меня есть файл .htaccess в http: // localhost / testing / .htaccess. Я хочу изменить URL-адрес, как показано ниже.

http://localhost/testing/site.php?site=test 

в

 http://localhost/testing/test 

И у меня есть код в .htaccess как

 RewriteEngine on RewriteRule ^([^/\.]+)/?$ site.php?site=$1 [L] 

Что работает правильно, но у меня также есть URL-адрес

 http://localhost/testing/pages.php?site=test&pid=2 

Здесь pages.php с двумя параметрами как имя сайта и идентификатор страницы. Я хочу переписать это как

 http://localhost/testing/test/2 

Для обоих условий у меня есть код, который не работает

 RewriteEngine on RewriteRule ^([^/\.]+)/?$ site.php?site=$1 [L] RewriteRule ^([^/\.]+)/?$ pages.php?site=$1&pid=$2 [L] 

Пожалуйста помоги

Благодаря 🙂

Related of "Правило htaccess не работает на localhost"

Вам нужно сделать, чтобы включить mod_rewrite на сервере apecha, предварительно выполнив следующие шаги:

  1. Предполагая, что вы распаковали папку xampp в каталоге C:\ , перейдите в папку, содержащую файлы конфигурации apache. Полный путь: C:\xampp\apache\conf\.

  2. В папке conf вы найдете файл с именем httpd.conf. Этот файл содержит все параметры конфигурации для apache. Откройте файл в текстовом редакторе.

  3. Найдите mod_rewrite.so, и вы столкнетесь со следующей #LoadModule rewrite_module modules/mod_rewrite.so : #LoadModule rewrite_module modules/mod_rewrite.so

  4. Раскомментируйте строку, удалив отметку хэша (#).

  5. Сохраните файл и перезапустите веб-сервер Apache.

а также если файл уже находится в папке testing ваш код должен выглядеть так:

 RewriteEngine on RewriteRule ^site\.html$ site.php?site_id=$1 

Я получил решение, которое сработало для меня.

 RewriteEngine on RewriteRule ^([^/\.]+)/?$ site.php?site=$1 [L] RewriteRule ^([^/]+)/([^/\.]+)/?$ pages.php?site=$1&pid=$2 [L,QSA] 

Всем спасибо 🙂