htaccess for old URLs [solved]

The place to talk about things that are related to CMS Made simple, but don't fit anywhere else.
Post Reply
douglas1438
Forum Members
Forum Members
Posts: 80
Joined: Thu Jul 21, 2011 10:29 am

htaccess for old URLs [solved]

Post by douglas1438 »

Hi all,

Have just created a new cmsms site, the old static site had a lot of SEO work done and they don't want to lose the listings and have requested 301 redirects.

So, for example: domain.com/bedrooms.php should redirect to domain.com/rooms-and-rates/rooms

Having looked at the official help page I've inserted the following in my htaccess file:

RewriteRule ^bedrooms.php$ "http://www.domain.com/rooms-and-rates/rooms [R=301,L]

This appears to have no effect and just sends me to my 404 not found page as:
"http://www.domain.com/?page=bedrooms.php

Hope this makes sense and someone can help?

Thank you
Last edited by Dr.CSS on Thu Apr 25, 2013 10:53 pm, edited 2 times in total.
Reason: Please use double quotes on fake links so they aren't clickable...
User avatar
rotezecke
Power Poster
Power Poster
Posts: 411
Joined: Fri Apr 18, 2008 9:34 pm

Re: htaccess for old URLs

Post by rotezecke »

could you post entire htaccess file?

do you have pretty URLs enabled?
douglas1438
Forum Members
Forum Members
Posts: 80
Joined: Thu Jul 21, 2011 10:29 am

Re: htaccess for old URLs

Post by douglas1438 »

Yes, pretty URLs are enabled. Entire .htaccess file below, thank you.

Code: Select all

# Attempt to override some php settings, these settings may be helpful on some hosts if your
# default configuration does not meet CMS's minimum requirements, and your host
# has given your account appropriate permissions
#php_value upload_max_filesize "10M"
#php_value session_save_path "tmp/cache"

#php_flag magic_quotes_gpc Off
#php_flag register_globals Off
#php_flag session.use_trans_sid Off

# (this is important, so uncomment if your host permit)
#Options -Indexes
#ServerSignature Off

#Options +FollowSymLinks

# To prevent E_STRICT problems with PHP 5.3+ you can uncomment the following lines
# Note: These settings should only be enabled for production sites!
#php_flag display_startup_errors 0
#php_flag display_errors 0
#php_flag html_errors 0
#php_value docref_root 0
#php_value docref_ext 0

<IfModule mod_rewrite.c>
RewriteEngine on
#
#Sub-dir e.g: /cmsms
RewriteBase /
# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
# but ignore POST requests.
#RewriteCond %{REQUEST_URI} !/$
#RewriteCond %{REQUEST_URI} !\.
#RewriteCond %{REQUEST_METHOD} !POST$
#RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]

# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
#
# v102 rewrite rules
#
RewriteEngine on
RewriteRule ^bedrooms.php$ http://www.pelhamhouse.com/rooms-and-rates/rooms [R=301,L]
</IfModule>

<IfModule mod_header.c>
# Disable ETags
Header unset ETag
FileEtag None
</IfModule>

<IfModule mod_deflate.c>
# Compress css, plaintext, xml, gif, and images in transport.
AddOutputFilterByType DEFLATE text/css text/plain text/xml image/gif image/jpeg image/png
</IfModule>

<IfModule mod_expires.c>
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
# Set expires tags on various files... so that the browser wont attempt to reload them.
ExpiresActive On
ExpiresDefault "access plus 1 year"
<IfModule mod_header.c>
  # Setting cache control to public allowes proxy servers to cache the items too.
  Header set Cache-Control "public"
</IfModule>
</FilesMatch>
</IfModule>
psy
Power Poster
Power Poster
Posts: 463
Joined: Sat Jan 22, 2005 11:19 am

Re: htaccess for old URLs

Post by psy »

I had a similar problem recently with a 301 redirect rule.

Solution for me was to put the custom rule ABOVE the cmsms rewrite rules.

That way, the rewritten rule was ready for the CMSMS pretty URL stuff.

hth
psy
calguy1000
Support Guru
Support Guru
Posts: 8169
Joined: Tue Oct 19, 2004 6:44 pm

Re: htaccess for old URLs

Post by calguy1000 »

Code: Select all

RewriteRule ^bedrooms.php$ http://www.pelhamhouse.com/rooms-and-rates/rooms [R=301,L]
You really should do your reading.... the ,L stands for 'LAST' i.e: no further rules will be processed.

Also, the rule was placed AFTER a rule that would also match the condition, therefore that rule would be processed first.

You really should use your own resources, exercise all research options and test things before you ask a question and expect that others will give you an answer quckly, and for free.

<pick your god of choice> invented Google for a reason.
Follow me on twitter
Please post system information from "Extensions >> System Information" (there is a bbcode option) on all posts asking for assistance.
--------------------
If you can't bother explaining your problem well, you shouldn't expect much in the way of assistance.
User avatar
rotezecke
Power Poster
Power Poster
Posts: 411
Joined: Fri Apr 18, 2008 9:34 pm

Re: htaccess for old URLs

Post by rotezecke »

Code: Select all

RewriteRule ^bedrooms.php$ http://www.pelhamhouse.com/rooms-and-rates/rooms [R=301,L]
move it below
RewriteBase /

The L may or may not be what you want here.

note: you call "RewriteEngine on" twice.
douglas1438
Forum Members
Forum Members
Posts: 80
Joined: Thu Jul 21, 2011 10:29 am

Re: htaccess for old URLs

Post by douglas1438 »

Calguy, apologies if you feel I'm taking advantage. I spent a great deal of time researching my problem today and again this morning, but it just doesn't make sense to me. I confess I'm out of my depth, sorry.

I've followed the advice posted, and ended up with the .htaccess file that appears to work. Using a redirect checker it confirms it is working but the site still displays the URL as "http://www.domain.com/?page=bedrooms.php

Something somewhere is changing the format of the URL and I don't know where.
Last edited by Dr.CSS on Thu Apr 25, 2013 10:52 pm, edited 1 time in total.
Reason: Please use double quotes on fake links so they aren't clickable...
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am

Re: htaccess for old URLs

Post by velden »

Post Reply

Return to “The Lounge”