Re: java app URL rewrite

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

 



Stauffer, Robert G wrote:
Justin,

Just tried:
<VirtualHost portal-dev.dande.com:81>
  RewriteEngine On
  RewriteLogLevel 3
  RewriteLog logs/rewrite_port81.log
  RewriteRule ^/$ /jahia/Jahia/site/jazzd/pid/9 [C,PT]
  RewriteRule ^/jahia/Jahia/(.+)$ $1 [L]
</VirtualHost>

Same thing happened: It serves up the correct page, but the browser URL
is http://portal-dev:81/ instead of
http://portal-dev:81/site/jazzd/pid/9.  And the second RewriteRule is
ignored:

logs/rewrite_port81.log:
10.208.4.137 - - [18/Sep/2008:13:28:17 --0400]
[portal-dev/sid#8122b18][rid#81c5c40/initial] (2) init rewrite engine
with requested uri /
10.208.4.137 - - [18/Sep/2008:13:28:17 --0400]
[portal-dev/sid#8122b18][rid#81c5c40/initial] (3) applying pattern '^/$'
to uri '/'
10.208.4.137 - - [18/Sep/2008:13:28:17 --0400]
[portal-dev/sid#8122b18][rid#81c5c40/initial] (2) rewrite / ->
/jahia/Jahia/site/jazzd/pid/9
10.208.4.137 - - [18/Sep/2008:13:28:17 --0400]
[portal-dev/sid#8122b18][rid#81c5c40/initial] (2) forcing
'/jahia/Jahia/site/jazzd/pid/9' to get passed through to next API
URI-to-filename handler
10.208.4.137 - - [18/Sep/2008:13:28:17 --0400]
[portal-dev/sid#8122b18][rid#81f7c18/initial] (2) init rewrite engine
with requested uri /jazzdassets/scripts/tabber.js
...

Anyone know if there's a way to force the redirect to the first
RewriteRule output and display the output of the second RewriteRule?

I don't think the [PT] flag will actually apply to RewriteRule directives (the documentation isn't 100% clear on the subject, but it says "... hack to enable post-processing of the output of |RewriteRule| directives, using |Alias|, |ScriptAlias|, |Redirect|, and other directives from various URI-to-filename translators"). I would think it would specifically mention RewriteRule in the list if that applied.

You may be getting hit by the way rewrite rules are applied. I think when the RewriteRules are inside the apache config as opposed to and .htaccess file, the rules are not "reprocessed" for a single request after matching a rewrite rule. This means it matches the first request, then doesn't attempts to reprocess the URL through additional RewriteRules. It seems like you could simplify the rule and avoid the chain altogether by just doing this:

RewriteRule ^/$ /site/jazzd/pid/9 [L]

If you go directly to "http://portal-dev:81/jahia/Jahia/something";, are you redirected to "http://portal-dev:81/something";? Since you are not setting a RewriteBase, you might need to tell mod_rewrite to anchor it to the beginning of the URL, like this:

RewriteRule ^/jahia/Jahia/(.+)$ /$1 [L]

To simplify things, I would first work on getting this rule to work by itself (which seems like it should with the change above). Then additional rules can be added.

--
Justin Pasher

---------------------------------------------------------------------
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