Проблема с .htaccess для дружественных URL - PullRequest
0 голосов
/ 09 января 2019

Это мой текущий файл .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 Внутренняя ошибка сервера.

1 Ответ

0 голосов
/ 09 января 2019

Попробуйте правила как в корне вашего сайта .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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...