Apache Regex не возвращает первый результат - PullRequest
0 голосов
/ 06 октября 2009

У меня есть следующий URL:

http://somedomain.com/aa/search/search.php

Я хочу, чтобы он возвратил 2 выбора: "aa" и "search / search.php".

С помощью Regex Coach я сделал следующее регулярное выражение, которое точно нацелено на эти два элемента:

/([a-z]{2})/(.*)

Однако, когда я использую их в своем файле htaccess, перезапись просто не происходит:

Options +FollowSymlinks
RewriteEngine on

RewriteRule /([a-z]{2})/(.*) /$2?var=$1

Может ли кто-нибудь указать этому регулярному новичку в правильном направлении?

редактирование:

Под «не бывает» я подразумеваю следующий URL: somedomain.com/aa/search.php дает мне
"/aa/search.php не найден"
а не
"/search.php?var=aa не найден".

1 Ответ

1 голос
/ 06 октября 2009

Это зависит от того, где вы определяете правило. Ваш синтаксис правильный для файлов конфигурации сервера (глобальных). Если вы используете .htaccess файлы, сервер обрезает путь до места, где находится файл, из URL. Попробуйте

([a-z]{2})/(.*)

(т.е. без первой косой черты)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...