Matching URLs for migrating from old website to new website


(tim schultz) #1

This is a question that follows up on a discussion about “cruft-less” links from an earlier thread :

Mechanics of Replacing iWeb website with RapidWeaver Website

I am in the process of migrating an iWeb website to a RapidWeaver website.
To minimize the need for 301 Redirects I want to make sure I understand URL naming conventions.

Assume my iWeb site has a URL name of xyzcustomcabinets.com/bungalow_cabinets.html

To emulate this URL in RapidWeaver I give it a folder name of “bungalow_cabinets”.
When it publishes it shows up with the URL name of xyzcustomcabinets.com/bungalow_cabinets/

cabinets.html has been replaced with cabinets/

Will replacing .html with a simple forward slash ( / ) have any affect on previously bookmarked URLs? The syntax is different but will this have any affect on the need for 301 Redirects?


(tim schultz) #2

sorry about the double jpeg. My fingers got confused.


(Doug Bennett) #3

Okay,
If I understand what you are asking then you would need the redirect in the example you gave above.

The new site with tidy links would appear to have a url of
xyzcustomcabinets.com/bungalow_cabinets/
but that’s what tidy links kinda does. It appears to have that URL but athe actual file name would be

 xyzcustomcabinets.com/bungalow_cabinets/index.html
or
 xyzcustomcabinets.com/bungalow_cabinets/index.php

What really happens to make tidy links work is the request gets passed to your web server with out a complete file name. The web server has directives(DirectoryIndex) that tell it if what to do when it gets passed a technically incomplete path name. It will look in that directory for files in a specified order. Most web servers default to looking for files in this order: index.html index.cgi index.php.
As soon as the ther server finds one of those files it would server that page to the URL that requested the page without a complete path.
Now any thing bookmark or a link to the old page name would have a complete URL - xyzcustomcabinets.com/bungalow_cabinets.html So the webserver would never look to the DirectoryIndex directive and never look for the index.html or index.php files.

A simple redirect added to the htaccess file would solve this.

Redirect 301 /bungalow_cabinets.html /bungalow_cabinets/

(tim schultz) #4

Thanks Doug. I think I sort of understand what you said.

Am I accurate in interpreting that the Redirect 301 only alludes to the suffix text “bungalow_cabinets.html / bungalow_cabinets/”?

i.e., there is no need to include the text “xyzcustomcabinets.com” in front of the suffix text?

I am going to follow up on the Redirect 301 video you recommended in my last post. The test site also looks handy.

Fortunately for me I discovered today that the people I host my original site on (Network Solutions) maintains a two week back up. If I completely screw up I still have my original neanderthal website to fall back on.


(Doug Bennett) #5

Redirect paths are relative to where the htaccess file is located. So in the example above, there is no need to put the domain name xyzcustomcabinets.com or the Protocol https://.

This is where the htaccess tester comes in real handy.

  1. Enter the rule into the tester
  2. Enter the complete URL you want to test
  3. The output URL appears

If you have a script like a spreadsheet of all the URL’s you want to redirect you can put the entire htaccess file into the tester (1) and then test each URL (one at a time) and check to make sure the correct Output URL (also hopefully in the spreadsheet) is going to be generated.


(tim schultz) #6

I finally got a chance to try out that htaccess tester. You were right. It is pretty cool.
After I finally figured out the syntax you suggested I entered it and got that reassuring message that my redirect would end up where it is supposed to be.

Thanks again for the tip.