Как вы можете сделать регулярное выражение в MOD-REWRITE необязательным? - PullRequest
0 голосов
/ 09 марта 2011

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

Прямо сейчас я использую переписывание мод, чтобы сделать следующий красивый URL:

/ работа / JobLocation / JobOpening /

Использование этого правила перезаписи:

RewriteRule ^jobs/([A-Za-z_-]+)/([A-Za-z_-]+)$ /jobs/$1/$2/ [R]
RewriteRule ^jobs/([A-Za-z_-]+)/([A-Za-z_-]+)/$ /listing.php?location=$1&job=$2

Я хотел бы при желании добавить атрибут языка в начало этого URL (и других на моем сайте), чтобы я мог перевести страницу. Мне бы хотелось, чтобы обычный URL-адрес, указанный выше, работал на языке по умолчанию (английском), но мне бы также хотелось, чтобы следующее:

/ работы / эс / JobLocation / JobOpening /

Полагаю, я могу сделать это, добавив необязательную часть в мой мод rewrite regexp, но я не уверен, какой правильный синтаксис.

1 Ответ

0 голосов
/ 09 марта 2011

Так же, как и любой другой синтаксис регулярных выражений: знак вопроса (?).

RewriteRule ^jobs/(([A-Za-z_-]{2,3})/)?([A-Za-z_-]+)/([A-Za-z_-]+)/$ /listing.php?location=$3&job=$4&lang=$2
...