Dear Wiki user, You have subscribed to a wiki page or wiki category on "Httpd Wiki" for change notification.
The "RewriteLog" page has been changed by thumbs: https://wiki.apache.org/httpd/RewriteLog?action=diff&rev1=4&rev2=5 Comment: Clarified the minimum usable log level. Re-organized the text based on the user's feedback. == apache HTTP server 2.4 == - Logging for mod_rewrite is now in the [[http://httpd.apache.org/docs/current/mod/core.html#errorlog|ErrorLog]], see [[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#logging|logging]] + Logging for mod_rewrite is now achieved using the [[http://httpd.apache.org/docs/current/mod/core.html#errorlog|ErrorLog]] directive, see [[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#logging|logging]] to configure the log level. A value of trace5 is recommended. == apache HTTP server 2.2 (and older) == + === By editing your vhost === + - Place the following directives in your vhost, if applicable. Otherwise, place them in the server context: + Place the following directives in your vhost, if defined in your configuration. Otherwise, place them in the server context: [[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteengine|RewriteEngine]] on @@ -20, +22 @@ [[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteloglevel|RewriteLogLevel]] 5 - ''Using a [[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteloglevel|RewriteLogLevel]] value higher than 5 will not produce additional logging output'' + Using a [[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteloglevel|RewriteLogLevel]] value higher than 5 will not produce additional logging output and using a lower level will hide important information. - ''Rewrite rules in the server context can still apply to specific vhosts if "[[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteengine|RewriteEngine]] on" and "[[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions|RewriteOptions]] inherit" is set.'' + === By editing the Server context === + + Rewrite rules in the server context can still apply to specific vhosts with the following directives in each vhost: + + [[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteengine|RewriteEngine]] on + + [[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions|RewriteOptions]] inherit + + The following directives must be placed in the Server context, in the same fashion as editing your vhost: + + [[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteengine|RewriteEngine]] on + + [[http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritelog|RewriteLog]] /path/to/log + + [[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteloglevel|RewriteLogLevel]] 5 = Recipes = @@ -30, +46 @@ Config: {{{ - RewriteLogLevel 9 RewriteLog "||/usr/local/rewrite_log_pipe" }}} - Like in a usual setup, we set `RewriteLogLevel` high enough to be verbose enough. However, instead of logging to a file, we will pipe the log through a program. - This program will be a short and simple Perl script: + Instead of logging to a file, the output will be piped through a script: {{{#!perl #!/usr/bin/env perl @@ -50, +64 @@ } }}} - This program opens the file `/tmp/rewrite.log`, looks for anything in the input that looks like '''(1)''' or '''(2)''' and drops everything before that. + This script opens the file `/tmp/rewrite.log`, looks for anything in the input that looks like '''(1)''' or '''(2)''' and drops everything before that. Before: @@ -82, +96 @@ (1) [perdir /srv/www/vhosts/hc-profi/] pass through /srv/www/vhosts/hc-profi/index.php }}} + In this example, 'favicon.ico' is rewritten to /index.php, then the '^test_.*$' pattern is applied to the sub-request. + + Lastly, the same sub-request has the '^index\.php$' pattern applied to. In this case, the result was a non-match, and the rule is skipped. + --------------------------------------------------------------------- To unsubscribe, e-mail: docs-unsubscr...@httpd.apache.org For additional commands, e-mail: docs-h...@httpd.apache.org