Как я могу выразить это с помощью RewriteCond? - PullRequest
0 голосов
/ 27 февраля 2010

Я хочу перенаправить пользователей на страницу с ошибкой, если они введут любой URL , не начинающийся с с 'en' или 'fr' Я не могу понять, как выразить это как RewriteCond / RewriteRule.

Чтобы быть более понятным, некоторые примеры:

http://mysite.com/en/foo/ ==> Cool, do nothing
http://mysite.com/fr/foo/ ==> Cool, do nothing

http://mysite.com/foo/ ==> ERROR, redirect to /404/index.php    
http://mysite.com/blah/foo/ ==> ERROR, redirect to /404/index.php

Я уверен, что это должно быть довольно просто, но я не смог найти этот конкретный сценарий. Спасибо за ваше время.

1 Ответ

1 голос
/ 27 февраля 2010
^/(?!en|fr).*

Это регулярное выражение должно соответствовать любому пути, который не начинается с /en или /fr. Синтаксис (?!expression) является негативным прогнозом; оно соответствует позиции , где содержащееся выражение не начинает совпадать.

...