Help Please

New to mod_rewrite? This is a good place to start.

Help Please

Postby taxidave » Sat Jun 06, 2009 6:25 am

Hi,
I have started using Mod Rewrite and have a problem with displaying sub-directories re-writes.

I'm trying to rewrite the following structure
/menu/submenu/content/
I'm using RewriteRule ^/([^/]+)/?([^/]*)/?([^/]*)/?$ /content.aspx?pname=$1&pname2=$2&content=$3 [L]

This does not work and it seems to conflict with an existing rule as follows:
RewriteRule ^adverts/([^/]+)/?([^/]*)/?([^/]*)/?([^/]*)/?$ /detail.aspx?mak_id=$2&mod_id=$3&adv=$4 [L]

This is the code used in the .htaccess file:
######################################

RewriteEngine On
RewriteBase /web/content/
RewriteBase /

############ CMS ############
RewriteRule ^/([^/]*)/?$ /menu.aspx?pname=$1 [L]
RewriteRule ^/([^/]+)/?([^/]*)/?$ /submenu.aspx?pname=$1&pname2=$2 [L]
RewriteRule ^/([^/]+)/?([^/]*)/?([^/]*)/?$ /content.aspx?pname=$1&pname2=$2&content=$3 [L]
#################################

############ Adverts ############
RewriteRule ^taxis-for-sale/pg/([^/]+)/?$ /adverts.aspx?pg=$1 [L]
RewriteRule ^taxis-for-sale/([^/]+)/?([^/]*)/?([^/]*)/?([^/]*)/?$ /detail.aspx?mak_id=$2&mod_id=$3&adv=$4 [L]
RewriteRule ^taxis-for-sale/ /adverts.aspx [L]
#################################

Can you please advise how I can implement the structure susccessfully without having to use the structure with the rule:
RewriteRule ^content/([^/]+)/?([^/]*)/?([^/]*)/?$ /content.aspx?pname=$1&pname2=$2&content=$3 [L]

This rule works but I don't want to use the content directory in front. The rule I would like to use is:

RewriteRule ^/([^/]*)/?$ /menu.aspx?pname=$1 [L]
RewriteRule ^/([^/]+)/?([^/]*)/?$ /submenu.aspx?pname=$1&pname2=$2 [L]
RewriteRule ^/([^/]+)/?([^/]*)/?([^/]*)/?$ /content.aspx?pname=$1&pname2=$2&content=$3 [L]
taxidave
 
Posts: 1
Joined: Sat Jun 06, 2009 6:22 am
Location: UK

Postby richardk » Sat Jun 06, 2009 12:02 pm

Are you using Apache mod_rewrite?
Do not put a / after the ^.

Try
Code: Select all
RewriteEngine On

############ Adverts ############
RewriteRule ^taxis-for-sale/pg/([^/]+)/?$                         /adverts.aspx?pg=$1                     [L]
RewriteRule ^taxis-for-sale/([^/]+)/?([^/]*)/?([^/]*)/?([^/]*)/?$ /detail.aspx?mak_id=$2&mod_id=$3&adv=$4 [L]
RewriteRule ^taxis-for-sale/                                      /adverts.aspx                           [L]

############ CMS ############
RewriteRule ^([^/]+)/?$                 /menu.aspx?pname=$1                         [L]
RewriteRule ^([^/]+)/([^/]+)/?$         /submenu.aspx?pname=$1&pname2=$2            [L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /content.aspx?pname=$1&pname2=$2&content=$3 [L]
richardk
 
Posts: 8800
Joined: Wed Dec 21, 2005 7:50 am


Return to Beginner's Corner

Who is online

Users browsing this forum: No registered users and 105 guests

cron