У меня есть PHP-скрипт, динамически генерирующий контент из базы данных на основе запросов. Пользователь может выполнить поиск в текстовом поле по имени пользователя «mark». Содержимое предоставляется PHP по адресу www.domain.com/?username=mark, хотя я хотел бы, чтобы пользователь видел обслуживающий URL как www.domain.com/username/mark.html. Точно так же пользователь может искать по профилю (целому числу). Контент создается на www.domain.com/?profile=2. Я хочу, чтобы пользователь видел обслуживающий URL как www.domain.com/profile/2.html. Это выполнимо?
Вот мой файл .htaccess:
RewriteEngine On
RewriteRule ^username/([^/]*)\.html$ /?username=$1 [L]
RewriteRule ^realname/([^/]*)\.html$ /?realname=$1 [L]
RewriteRule ^profile/([^/]*)\.html$ /?profile=$1 [L]
Mod_rewrite включен, но этот файл не работает.
Ваш код должен работать, возможно, он вообще не выполняется. Вы можете попытаться сделать опечатку и посмотреть, дает ли Apache ответ 500.
Кроме того, вы можете попробовать использовать следующий htaccess. Добавлен index.php, чтобы гарантировать, что вызывается правильный файл.
RewriteEngine On
RewriteRule ^username/([^/]*)\.html$ /index.php?username=$1 [L]
RewriteRule ^realname/([^/]*)\.html$ /index.php?realname=$1 [L]
RewriteRule ^profile/([^/]*)\.html$ /index.php?profile=$1 [L]