Как исключить только одну папку из RewriteRule

#.htaccess #mod-rewrite

#.htaccess #мод-перезаписать

Вопрос:

Это мой текущий RewriteRule: RewriteRule ^products(/.) $ products.php Я бы хотел, чтобы она была перезаписана для продуктов / чего угодно, но не для продуктов / корзины покупок, я не уверен, как это сделать.

Ответ №1:

Вот так:

 RewriteRule: RewriteRule ^products(?!/shopping-cart)(/.)$ products.php
  

(?!/shopping-cart) это отрицательный прогноз, который гарантирует, что последующее не /shopping-cart

Как указывает @anubhava, (/.) выглядит подозрительно. Вероятно, вам нужно либо (/?) (для соответствия необязательному / ), либо (/.*) для соответствия конечному.

Ссылка

Комментарии:

1. 1 это должно сработать, но (/.)$ выглядит подозрительно, поскольку будет соответствовать только косой черте и одному символу после products