Am 28.05.2016 um 21:03 schrieb Paul R. Ganci:
I was wondering if somebody could help me with an Apache re-write rule. Apparently CentOS 6.8 is running apache-2.2.15-53. I am trying to redirect all pages except for two pages. The apache rewrite directives in the httpd config are:
RewriteEngine on RewriteCond %{REQUEST_URI}!^/test/ RewriteCond %{REQUEST_URI}!^/my-folder/ RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
These commands should cause all requests to get re-directed to www.newdomain.com except for those with a /test or /my-folder on the end of the URL. However when I place these commands into the the httpd config apache spits out this error message:
Starting httpd: Syntax error on line 31 of /etc/httpd/conf.d/olddomain.conf: RewriteCond: bad argument line '%{REQUEST_URI}!^/test/
You missed a whitespace between the server variable %{REUQEST_URI} and the value you test against. In both cases you did. And you probly want a trailing [OR] parameter. See
https://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond
I have of course renamed the real config parameters. Can somebody tell me if these directives only work in apache-2.4 and if so how do I do the same thing in apache-2.2? If these directives should work in apache-2.2 is this an apache problem?
Works with Apache 2.2, see cited docs above.
Thanks for your help.
Alexander