Re: [users@httpd] Regexps in rewrite rules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 22 Mar 2005 10:53:29 +0000, Gary Wilson <gwilson@xxxxxxxx> wrote:
> 
> I understand that Apache 2.0 uses Perl style regexps.  With this in
> mind, I wrote the following rewrite rule to force a mime type of a
> CGI application for antyhing under /cgi-bin EXCEPT files inding in
> .html - however the rule always returns "Not matched" in the rewrite
> logs, and no matter how I attempt this rule, it never seems to match.
> 
> Other rules I have written with more vanilla regular expressions all
> work fine, but I can't seem to do the following negation successfully.
> 
> RewriteRule  /cgi-bin/.*(?!\.html
> $) /local/apache/cgi-bin/cgiwrap/%{ENV:UID}/$1
> [T=application/x-httpd-cgi,NS]
> 
> Can anyone advise what is wrong with this rule please?

Although I'm not a regex expert, I can see a number of things that
could be wrong there, such as including the line termination character
inside the () and the fact that the $1 will always be empty.  But why
not just avoid the problem by using something like:

RewriteCond %{REQUEST_URI} !.*\.html$
RewriteRule  /cgi-bin/(.*) /local/apache/cgi-bin/cgiwrap/%{ENV:UID}/$1
[T=application/x-httpd-cgi,NS]

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
   "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux