You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by David Blomstrom <da...@yahoo.com> on 2006/05/08 02:16:14 UTC

[users@httpd] Mod-Rewrite within a Mod-Rewrite

This is the rewrite rule for my Reference section, which works:
 
            RewriteRule ^Reference/([a-zA-Z0-9()_/-]+)/?$ Reference/index.php?ref=$1 [L]  
     
     
 

 I'd like to also create a similar Glossary section, like this:
 
                 RewriteRule ^Glossary/([a-zA-Z0-9()_/-]+)/?$ Glossary/index.php?glos=$1 [L]  
     
     
 

 Except I'd like the URL to be MySite/Reference/Glossary. In other words, the Glossary folder will be inside the Reference folder. So I created a new page at Reference/Glossary/index.php, then changed my mod-rewrite rules, as follows:
 
                 RewriteRule ^Reference/Glossary/([a-zA-Z0-9()_/-]+)/?$ Reference/Glossary/index.php?glos=$1 [L] 
 
RewriteRule ^Reference/([a-zA-Z0-9()_/-]+)/?$ Reference/index.php?ref=$1 [L]  
     
     
 

 It now correctly displays URL's with text appended to Reference/Glossary, like MySite/Reference/Glossary/politics. However, I can no longer view the Glossary home page. If I type in MySite/Reference/Glossary, it defaults to http://ivr/Reference/Glossary/?ref=Glossary, and I get a custom Page Not Found error, where I used to get a real page. How can I fix this?
 
 Thanks.
			
---------------------------------
Yahoo! Mail goes everywhere you do.  Get it on your phone.

Re: [users@httpd] Mod-Rewrite within a Mod-Rewrite

Posted by Krist van Besien <kr...@gmail.com>.
On 5/8/06, David Blomstrom <da...@yahoo.com> wrote:
> This is the rewrite rule for my Reference section, which works:
>
>
>
>  RewriteRule ^Reference/([a-zA-Z0-9()_/-]+)/?$ Reference/index.php?ref=$1
> [L]
>
>  I'd like to also create a similar Glossary section, like this:
>
>
>
>
>  RewriteRule ^Glossary/([a-zA-Z0-9()_/-]+)/?$ Glossary/index.php?glos=$1 [L]
>
>  Except I'd like the URL to be MySite/Reference/Glossary. In other words,
> the Glossary folder will be inside the Reference folder. So I created a new
> page at Reference/Glossary/index.php, then changed my mod-rewrite rules, as
> follows:
>
>
>
>
>  RewriteRule ^Reference/Glossary/([a-zA-Z0-9()_/-]+)/?$
> Reference/Glossary/index.php?glos=$1 [L]
>
> RewriteRule ^Reference/([a-zA-Z0-9()_/-]+)/?$ Reference/index.php?ref=$1 [L]
>
>  It now correctly displays URL's with text appended to Reference/Glossary,
> like MySite/Reference/Glossary/politics. However, I can no
> longer view the Glossary home page. If I type in MySite/Reference/Glossary,
> it defaults to http://ivr/Reference/Glossary/?ref=Glossary,
> and I get a custom Page Not Found error, where I used to get a real page.
> How can I fix this?

you could ad a rule that does nothing but stop rule processing. For example:

RewriteRule ^(Reference/Glossary)$      $1   [L]

(add this rule before the others.)

This is how I usually do it when I need to get some URLs out of the
whole rewrite processing.

Krist

--
krist.vanbesien@gmail.com
Solothurn, Switzerland

---------------------------------------------------------------------
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@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org