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
htaccess for old URLs [solved]
-
- Forum Members
- Posts: 80
- Joined: Thu Jul 21, 2011 10:29 am
htaccess for old URLs [solved]
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...
Reason: Please use double quotes on fake links so they aren't clickable...
Re: htaccess for old URLs
could you post entire htaccess file?
do you have pretty URLs enabled?
do you have pretty URLs enabled?
-
- Forum Members
- Posts: 80
- Joined: Thu Jul 21, 2011 10:29 am
Re: htaccess for old URLs
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>
Re: htaccess for old URLs
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
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
-
- Support Guru
- Posts: 8169
- Joined: Tue Oct 19, 2004 6:44 pm
Re: htaccess for old URLs
Code: Select all
RewriteRule ^bedrooms.php$ http://www.pelhamhouse.com/rooms-and-rates/rooms [R=301,L]
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.
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.
Re: htaccess for old URLs
Code: Select all
RewriteRule ^bedrooms.php$ http://www.pelhamhouse.com/rooms-and-rates/rooms [R=301,L]
RewriteBase /
The L may or may not be what you want here.
note: you call "RewriteEngine on" twice.
-
- Forum Members
- Posts: 80
- Joined: Thu Jul 21, 2011 10:29 am
Re: htaccess for old URLs
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.
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...
Reason: Please use double quotes on fake links so they aren't clickable...
Re: htaccess for old URLs
http://www.pelhamhouse.com/bedrooms.php seems to work now