Извините, я изменил предыдущий вопрос. У меня проблема с .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]
Пожалуйста помоги
Благодаря 🙂
Вам нужно сделать, чтобы включить mod_rewrite на сервере apecha, предварительно выполнив следующие шаги:
Предполагая, что вы распаковали папку xampp в каталоге C:\
, перейдите в папку, содержащую файлы конфигурации apache. Полный путь: C:\xampp\apache\conf\.
В папке conf вы найдете файл с именем httpd.conf. Этот файл содержит все параметры конфигурации для apache. Откройте файл в текстовом редакторе.
Найдите mod_rewrite.so, и вы столкнетесь со следующей #LoadModule rewrite_module modules/mod_rewrite.so
: #LoadModule rewrite_module modules/mod_rewrite.so
Раскомментируйте строку, удалив отметку хэша (#).
Сохраните файл и перезапустите веб-сервер 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]
Всем спасибо 🙂