954,173 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Mod_Rewrite help!

The only experience I have with mod_rewrite is to upload all the rules generated by wordpress or those by my ultra helpful friends :o alert>

Here's what I want to do -

every request made for http://www.domain.com/forumdisplay.php?t=xyz and http://www.domain.com/showthread.php?t=xyz should be redirected to http://www.domain.com/forums/forumdisplay,php?t=xyz and http://www.domain.com/forums/showthread.php?t=xyz respectively!

:mrgreen: Can someone help me with the rules?

Thanks :)

pulse
Posting Whiz in Training
227 posts since Aug 2004
Reputation Points: 11
Solved Threads: 0
 

Create an .htaccess file in your root directory and put the following:

Options +FollowSymLinks
RewriteEngine on
 
RewriteRule ^forumdisplay.php?f=([0-9]+)$ ./forums/forumdisplay.php?f=$1 [R=301, L]
RewriteRule ^showthread.php?t=([0-9]+)$ ./forums/showthread.php?t=$1 [R=301, L]


Let's examine the first rule. It says that when you see a URL in the form of forumdisplay.php?f=some number, redirect to ./forums/forumdisplay.php?f=X where X is whatever the number just happens to be. The R=301 part means to do a 301 Redirect Permanent on the URL, which basically means that the content has moved from the old location to the new location, so pass any Google PR, etc. to the new URL. The L part means (to the best of my knowledge) that if a URL qualifies for this rule, apply it and then stop parsing the .htaccess file. (i.e. don't continue following other rules, because the URL will not apply to multiple rules in this file).

cscgal
The Queen of DaniWeb
Administrator
19,421 posts since Feb 2002
Reputation Points: 1,474
Solved Threads: 229
 

Create an .htaccess file in your root directory and put the following:

Options +FollowSymLinks
RewriteEngine on
 
RewriteRule ^forumdisplay.php?f=([0-9]+)$ ./forums/forumdisplay.php?f=$1 [R=301, L]
RewriteRule ^showthread.php?t=([0-9]+)$ ./forums/showthread.php?t=$1 [R=301, L]

Let's examine the first rule. It says that when you see a URL in the form of forumdisplay.php?f=some number, redirect to ./forums/forumdisplay.php?f=X where X is whatever the number just happens to be. The R=301 part means to do a 301 Redirect Permanent on the URL, which basically means that the content has moved from the old location to the new location, so pass any Google PR, etc. to the new URL. The L part means (to the best of my knowledge) that if a URL qualifies for this rule, apply it and then stop parsing the .htaccess file. (i.e. don't continue following other rules, because the URL will not apply to multiple rules in this file).


Hi,

Ive been trying to adapt this rule for my site and having very little luck :(

Our URL stucture is;

/dir/?pid=example

We ideally want that rewrote into;

/dir/example

Any help or advice is appreciated.

Matt

msmartinwsx
Newbie Poster
1 post since Jul 2005
Reputation Points: 10
Solved Threads: 0
 

What is the word on how effective this is as far google picking up on the url change and preserving the rewritten url with it's old status in the index?
I posted another question regarding how to accomplish a rewrite rule earlier today, hopfully some help will arrive for that, but this 301 thing would be great to be able to tidy up my indexed stuff - I was just going to slowly transition stuff out before....

*snip* The R=301 part means to do a 301 Redirect Permanent on the URL, which basically means that the content has moved from the old location to the new location, so pass any Google PR, etc. to the new URL. *snip*

.

bsmith
Newbie Poster
9 posts since Sep 2005
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You
View similar articles that have also been tagged: