Mod rewrite and Apache processing phases: Difference between revisions
From RavenWiki
Jump to navigationJump to search
(Created) |
(Note lookahead magic) |
||
Line 7: | Line 7: | ||
configuration directives of mod_rewrite are triggered in the Fixup phase. | configuration directives of mod_rewrite are triggered in the Fixup phase. | ||
This is relavent to Raven because it means that if you want to create rewrite rules that refer to REMOTE_USER, or any other environment variables created by mod_ucam_webauth, those rewrite rules are must appear inside a <Directory> block or an .htaccess file. If they appear outside this they will be processed ''before'' mod_ucam_webauth runs and so before the variables are created. | This is relavent to Raven because it means that if you want to create rewrite rules that refer to REMOTE_USER, or any other environment variables created by mod_ucam_webauth, those rewrite rules are must appear inside a <Directory> block or an .htaccess file. If they appear outside this they will be processed ''before'' mod_ucam_webauth runs and so before the variables are created. Alternatively, you can use the <tt>%{LA-U:REMOTE_USER}</tt> construct to cause mod_rewrite to generate a subrequest for the same URL and look at the value of REMOTE_USER that comes out of it. |
Latest revision as of 15:25, 23 September 2009
From the Apache mod_rewrite manual:
Once a request comes in, and Apache has determined the appropriate server (or virtual server), the rewrite engine starts the URL-to-filename translation, processing the mod_rewrite directives from the per-server configuration. A few steps later, when the final data directories are found, the per-directory configuration directives of mod_rewrite are triggered in the Fixup phase.
This is relavent to Raven because it means that if you want to create rewrite rules that refer to REMOTE_USER, or any other environment variables created by mod_ucam_webauth, those rewrite rules are must appear inside a <Directory> block or an .htaccess file. If they appear outside this they will be processed before mod_ucam_webauth runs and so before the variables are created. Alternatively, you can use the %{LA-U:REMOTE_USER} construct to cause mod_rewrite to generate a subrequest for the same URL and look at the value of REMOTE_USER that comes out of it.