Назад | Перейти на главную страницу

htaccess перезапись одинаковых имен страниц конфликт

В моем файле htaccess есть следующие две строки

RewriteRule ^payment payment.php
RewriteRule ^payment-confirmed payment-confirmed.php

При попытке доступа к payment -formed.php он просто переходит в payment.php (payment) - я предполагаю, что это потому, что он читает только первое слово и думает, что нашел местоположение.

Есть ли способ настроить файл htaccess, чтобы этого избежать?

Три разных способа:

  1. Используйте псевдоним вместо Rewrite:
    Alias payment payment.php
    Alias payment-confirmed payment-confirmed.php
  1. Включите $, что означает «конец строки»:
    RewriteRule ^payment$ payment.php
    RewriteRule ^payment-confirmed$ payment-confirmed.php
  1. Переместите строки так, чтобы в первую очередь проверялась наиболее конкретная строка:
    RewriteRule ^payment-confirmed$ payment-confirmed.php
    RewriteRule ^payment$ payment.php