htaccess не срабатывает при POST на странице индекса [Custom PHP MVC] - PullRequest
0 голосов
/ 30 апреля 2020

ХОРОШИЙ ДЕНЬ

Итак, я создал основу c MVC.

**htaccess**
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Options All -Indexes

ErrorDocument 403 /display/errors/403.php

RewriteRule ^.*$ index.php [L,QSA]

Затем индекс. php вызывает различные объекты для управления каждой страницей

Таким образом, проблема начинается, когда я отправляю форму на странице root (/) и атрибут действия на тот же root url (/):

enter image description here

**root page display**
<form action="/" method="POST">
    <input type="text" name="nombre">
    <input type="submit" name="submit" value="submit">
</form>

Дополнительная информация:

1) Когда я отправляю форму на любую другую страницу, например, здесь (/), здесь (/ contact) работает нормально.

2) Когда я отправляю форму на ту же страницу, но отличную от (/) (ej от / около к / о), тоже работает нормально.

3) В моем приложении, когда страница не найдена, есть определенный класс c, который управляет ошибкой, поэтому, если я go to / hi / dfdhhfhfh будет иметь страницу с ошибкой, которая работает в каждый раз.

Так что я думаю, по какой-то причине POST запускается до htaccess, но только в (/).

НАДЕЖДА, Я МОГУ ПОЛУЧИТЬ НЕКОТОРЫЕ СПРАВКИ СПАСИБО

1 Ответ

0 голосов
/ 30 апреля 2020

НАЙТИ ПРОБЛЕМУ И РЕШЕНИЕ:

Итак, Apache иногда генерирует автоиндекс (не знаю почему и когда, вероятно, когда форма действует до htaccess) ведьма должна называться индексом. Мой MVC маршрутизатор имеет другое имя. Итак, каково бы ни было название вашего роутера, просто добавьте его в первой строке вашего .htaccess

DirectoryIndex /router.php
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Options All -Indexes

RewriteRule ^.*$ router.php [L,QSA]
...