Как в .htaccess под управлением apache сделать перенаправление?

Ссылка скопирована
29 апреля 2026 1 ответ

Есть рабочая ссылка на сайте - https://site.ru/index.php?subaction=userinfo&user=...
Как в .htaccess прописать, чтобы она открывалась по ссылке - https://site.ru/user/login/edit
Делаю вот так - RewriteRule ^user/([^/]*)/edit(/?)+$ index.php?subaction=userinfo&user=$1&a=edit [L]
Но пишет страница не найдена, как правильно прописать нужно?

Дополнительно:

Поставьте своё правило в начало файла .htaccess чтобы оно было выше остальных RewriteRule.

  • И какое-то странное у вас получилось выражение.
    RewriteRule ^user/([^/]+)/edit/?$ index.php?subaction=userinfo&user=$1&a=edit [L]

    RewriteRule ^user/([^/]+)/edit/?$ index.php?subaction=userinfo&user=$1&a=edit [L]

  • AUser0, почему странное?
  • Александр, потому что в нём есть странности. Нелогичные части.
  • AUser0, ну я поэтому и задал здесь вопрос, как будет сделать это правильно. Если бы всё было правильно и работало, то я бы и не задавал вопросов
  • Александр, продолжайте.
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Андрей PHP Ответ

    Для создания перенаправления в файле .htaccess под управлением Apache можно использовать модуль mod_rewrite. Этот модуль позволяет настраивать правила перенаправления и изменения URL-адресов на сервере.

    Вот пример того, как можно создать перенаправление в .htaccess файле:

    RewriteEngine On
    RewriteRule ^old-page\.html$ new-page.html [R=301,L]

    RewriteEngine On RewriteRule ^old-page\.html$ new-page.html [R=301,L]

    В данном примере, при обращении к странице "old-page.html" пользователь будет автоматически перенаправлен на страницу "new-page.html" с кодом ответа 301 (постоянное перенаправление).

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

    RewriteEngine On
    RewriteRule ^(.*)$ https://www.example.com/new-page.html [R=301,L]

    RewriteEngine On RewriteRule ^(.*)$ https://www.example.com/new-page.html [R=301,L]

    Это перенаправление будет перенаправлять все запросы на сайт на страницу "new-page.html" с кодом ответа 301.

    Не забывайте, что для использования модуля mod_rewrite в .htaccess файле необходимо убедиться, что он включен в настройках Apache. Для этого можно использовать директиву "RewriteEngine On" в .htaccess файле.

    Надеюсь, этот ответ поможет вам настроить перенаправление в .htaccess файле под управлением Apache. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно