2010-05-12 4 views
2

Мы столкнулись с проблемой, когда мы имеем существующий псевдоним, и мы хотели бы, чтобы добавить правило перезаписи, чтобы охватить все варианты регистронезависимых написаний, то есть:Apache Rewrite и Алиас сочетания

URL: http://www.example.com/example 

Alias /example "/var/www/html/web/example" 

Мы нужно переписывают правило поймать:

/ExamPle 

/exampLE 

/eXAmple 

и т.д ...

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

ответ

2

В вашей основной конфигурации:

RewriteRule ^/example(?:$|/)(.*) /example/$1 [NC,PT,R] 

Волшебство в NC (без кейса) модификатора. Если вы не хотите переслать, вы можете опустить модификатор R. Модификатор PT (сквозной) должен хорошо воспроизводить его с помощью Alias.

+0

Большое спасибо за ответ. К сожалению, это приводит к следующей ошибке: Bad Request: Invalid URI в запрос GET/например, HTTP/1.1 Я нашел, как апач внутренне обрабатывает псевдонимы и переписывает: Внутренняя обработка: /xyz/oldstuff.html - > /abc/def/oldstuff.html (для каждого сервера) /abc/def/oldstuff.html -> /abc/def/newstuff.html (per-dir RewriteRule) /abc/def/newstuff.html - > /xyz/newstuff.html (за дир RewriteBase) /xyz/newstuff.html -> /abc/def/newstuff.html (на каждый сервер Алиас) Любая помощь будет оценена Спасибо! – Larry

+0

Пожалуйста, напишите, какие ваши текущие соответствующие директивы конфигурации. – Artefacto