Проблема с .htaccess для дружественных URL

Это мой текущий файл .htaccess

Options -MultiViews
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php [NC]
RewriteRule ^(.*)/edit/(\d+)?$ $1/edit.php?tag=$2 [NC]

Как видите, он настроен на скрытие расширения .php, но это, похоже, нарушает правило редактирования. Если я закомментирую

RewriteRule ^(.*)$ $1.php [NC]

Правило редактирования работает нормально, но мне нужно и то, и другое, и я не могу заставить его работать, все видят, в чем проблема и как ее отсортировать.

[Редактировать] У меня есть такая ссылка, и когда все правила активны, это то, что не работает.

http://www.domainname.com/researcher/lists/edit/

и я получаю 500 Internal Server Error.

Порядок правил важен. Журнал перезаписи помогает с наложением шаблонов.

mario 09.01.2019 11:47

Пытался поставить RewriteRule ^ (. *) $ 1.php [NC] последним, казалось, что дела обстоят еще хуже, в итоге возникла внутренняя ошибка сервера

Martin 09.01.2019 11:57

Позвольте мне просто упомянуть журнал перезаписи, снова. Как упоминалось во многих других подобных вопросах, универсальный .* наименее практичен для перекрывающихся правил. Конечно, нужен последний флаг.

mario 09.01.2019 12:27

Не могли бы вы уточнить, пожалуйста, и привести пример того, что вы имеете в виду. На самом деле не так уж много сделано с такими вещами

Martin 09.01.2019 12:31

Обновили мой вопрос, чтобы включить дополнительную информацию

Martin 09.01.2019 12:52

Цифра в конце указывать необязательно. Не работает с цифрой или без нее

Martin 09.01.2019 13:36

Где находится ваш .htaccess?

anubhava 09.01.2019 16:08

он расположен на корневом уровне

Martin 09.01.2019 16:11
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
8
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте правила, как в корневом каталоге вашего сайта .htaccess:

Options -MultiViews
RewriteEngine on

RewriteRule ^(.+)/edit(?:/(\d+))?/?$ $1/edit.php?tag=$2 [NC,L,QSA]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

Другие вопросы по теме