2010-05-12 78 views
2

我们遇到了在那里我们有一个现有的别名的问题,我们想补充一个重写规则赶不区分大小写拼写的所有变化,即:Apache的重写和别名组合

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(pass-through)修饰符应该可以很好地与Alias配合使用。

+0

非常感谢您的回复。不幸的是,这会导致以下错误: 错误的请求: /无效的URI在请求GET /例如HTTP 1.1 我发现如何apache的内部处理别名&重新写入: 内部处理: /xyz/oldstuff.html - > /abc/def/oldstuff.html(per-server Alias) /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 2010-05-13 16:18:26

+0

请写下您当前的相关配置指令。 – Artefacto 2010-05-13 19:22:28