Я использую тоник библиотеки php для веб-сервисов. Мой ресурс в качестве примера на
base-uri/myResource
Теперь, если в этом каталоге существует файл myResource.php, URL-адрес mod_rewrite будет
base-uri/myResource.php
который затем не выполняет условия перезаписи, и мое приложение ломается (приложение работает на apache в Windows)
Если я переименую myResource.php в myResourceClass.php (или что-нибудь еще), он будет работать.
Таким образом, кажется, что apache или one, если его модули предполагают, что с помощью base-uri / myResource я хочу вызвать base-uri / myResource.php, но только если myResource.php существует.
Это общая проблема, или я могу где-то настроить, чтобы этого не происходило?
Спасибо!
РЕДАКТИРОВАТЬ:
видеть
Как настроить базовый mod_rewrite?
Ответ содержит то же наблюдение!
ОТВЕТ:
Проблема заключается в конфигурации Apache по умолчанию в Ubuntu:
Options Indexes FollowSymLinks MultiViews
MultiViews меняет request_uri с myResource на myResource.php.
Решения:
Я выбрал последний вариант, потому что он должен работать независимо от конфигурации, а у меня всего 3 таких файла, поэтому изменение заняло около 30 секунд ...
Проблема заключается в конфигурации Apache по умолчанию в Ubuntu:
Options Indexes FollowSymLinks MultiViews
MultiViews меняет request_uri с myResource на myResource.php.
Решения:
Я выбрал последний вариант, потому что он должен работать независимо от конфигурации, а у меня всего 3 таких файла, поэтому изменение заняло около 30 секунд ...
Очень высока вероятность того, что .htaccess
файл в папке, который проверяет, есть ли что-то с .php
существует как файл, и если да, добавьте .php
расширение.
Мой совет: проверьте наличие .htaccess
файл в папке. Если он есть, и моего совета было недостаточно, пожалуйста, добавьте свой вопрос, чтобы мы могли пойти дальше.