Mod_rewrite примет одну строку, но не другую - PullRequest
0 голосов
/ 23 октября 2019

Может кто-нибудь, пожалуйста, скажите мне, что происходит ...

RewriteEngine on

RewriteRule ^contacto/?$ index.php?seccion=contacto [L]
RewriteRule ^contactar/?$ index.php?seccion=contacto [L]

Я хочу, чтобы "contacto" перенес меня в "index.php? Seccion = contacto", но это просто привело меня к "contacto.php "полностью игнорируя мое правило. Самое смешное, что если я заменю строку «contacto» на что-то другое, как во второй строке, это сработает, приведя меня к «index.php? Seccion = contacto»

. Никаких других .htaccess накорень или любые подпапки. У меня есть свежая копия Wamp (последняя версия) с Apache 2.4 и Php 7.2

Есть идеи?

1 Ответ

1 голос
/ 24 октября 2019

Вы должны включить опцию MultiViews в настройках Apache. Добавьте Options -MultiViews вверху вашего .htaccess файла, чтобы отключить его.

MultiViews плохо работает с правилами перезаписи, потому что он пытается перевести URI, такой как «contact», в «contact.en». php 'или' contact.fr.php 'в зависимости от заголовков языка принятия, отправленных в запросе.

...