我如何做一个不区分大小写的mod_rewriteredirect到相同的URL(国防部的情况下)?

我正在使用区分大小写的Web应用程序来提供将要打印的几个URL,因此我们希望UsErs以不精确的方式input它们。 如何让mod_rewrite[NC]redirect到正确的大小写URL,而不redirectURL并创build一个循环?

这取决于您的Web应用程序中的一些东西,但您可以:

  1. 使用mod_speling强制文件名和目录的正确大小写。 这需要“真实”的文件名。
  2. 使用RewriteMap来重写URL( 如下所示 ):

在.htaccess中:

 RewriteEngine on RewriteBase / RewriteMap insensitive tolower: RewriteRule ^[\/]*(.*)$ /${insensitive:$1} [R,L] 

首先,如果您可以使用最简单的mod_speling,但这需要实际的文件,而不是隐藏在应用程序内的东西。

简单地设置一个条件,这样,如果请求正确大写,重写过程就不会发生,如下所示:

 RewriteCond %{REQUEST_URI} !^/Your/File$ RewriteRule ^/your/file$ /Your/File [NC,R] 

将Samba共享挂载到/ var / www并考虑Samba共享文件夹(您的wwwroot ;-))