Как настроить перенаправление в файле .htaccess для сервера Apache?

Как настроить .htaccess, чтобы ссылка <a href="https://site.ru/index.php?subaction=userinfo&amp;user=login&amp;a=edit" rel="nofollow">https://site.ru/index.php?subaction=userinfo&amp;user=...</a> открывалась по ссылке <a href="https://site.ru/user/login/edit" rel="nofollow">https://site.ru/user/login/edit</a>? При использовании RewriteRule ^user/([^/]*)/edit(/?)+$ index.php?subaction=userinfo&user=$1&a=edit [L] возникает ошибка "страница не найдена". Как исправить данное правило?
  • 26 марта 2024 г. 6:29
Ответы на вопрос 1
Для настройки перенаправления в файле .htaccess для сервера Apache, вам нужно использовать модуль mod_rewrite. Вот как вы можете настроить .htaccess файл для перенаправления указанного URL:

1. Убедитесь, что у вас включен модуль mod_rewrite в вашем apache сервере.

2. Создайте или отредактируйте файл .htaccess в корневой директории вашего сайта.

3. Добавьте следующий код в ваш .htaccess файл:

```apache
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^user/([^/]*)/edit(/?)+$ index.php?subaction=userinfo&user=$1&a=edit [QSA,L]
```

Этот код настроит перенаправление с указанной ссылки на нужный URL. Убедитесь, что у вас включен параметр AllowOverride в конфигурации Apache для директивы, где находится ваш .htaccess файл.

Если после применения этих настроек у вас по-прежнему возникает ошибка "страница не найдена", попробуйте проверить путь к файлу index.php в вашем правиле RewriteRule. Убедитесь, что путь указан правильно и файл существует по указанному пути.

Если проблема остается, возможно, вам потребуется дополнительно настроить ваш сервер или файл .htaccess. В этом случае, рекомендуется обратиться к документации Apache или к специалистам по настройке сервера.
Похожие вопросы