Parajsa.com


Parajsa Shqiptare Forum

Cfare ju duhet te dini?

 

Kthehuni Mbrapa   Parajsa Shqiptare Forum | Albanian Paradise | Webmaster | Web developer

Ultimate Guide to htaccess and mod_rewrite

Pergjigju
 
LinkBack Alternativa Teme Vleresoni Temen
  #1  
Te vjeter 08-04-2008, 01:59
Minifotoja e anetarit Administratori
Parajsa Shqiptare
 
Reg: 06-07-02
Lokalizimi: London
Postime: 1,967
Images: 2351
Faqe ne Ditar: 2
Ultimate Guide to htaccess and mod_rewrite

Often described as “voodoo” by frustrated webmasters the use of mod_rewrite and htaccess files is one of the more advanced tasks a web developer has to face.


The good news is that unless you are looking for really advanced solutions you don’t have to fully understand how they work to use them on your website. Most of the htaccess and mod_rewrite tips on this page can simply be cut and pasted into a text file and uploaded to your server.


Over the last few years I’ve given the same htaccess tips to hundreds of webmasters so I decided to create a page with all the common uses.
htaccess is a configuration file that controls Apache web servers, mod_rewrite is a rewrite engine used by web servers to modify urls before they load.


The htaccess file is a text file called .htaccess - htaccess is the file extension, there is no filename. Normally it resides in the main root directory on your server but you can also create individual htaccess files for different directories on your site.



Canonicalization
The easiest htaccess trick is to make sure that your site doesn’t have any canonicalization issues on the homepage.
A lot of websites suffer from poor search engine rankings by having a number of different versions of the homepage, for example:


http://yoursite.com
http://www.yoursite.com
http://yoursitecom/index.html
http://www.yoursite.com/index.html


These pages are all seen as different urls, despite them having exactly the same content in most cases. Google has got better at deciding which version to use over the past 12 months but you can still run into problems.


To solve this issue simply add the following to your htaccess file:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.com
RewriteRule (.*) http://www.emridomainit.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.yoursite.com/ [R=301,L]



This will redirect all versions to http://www.yoursite.com/



Changing html files to php
Sometimes you might have a static html website and need to use php code on the html pages. Rather than redirecting all your html pages to the equivalent php versions you simply need to tell your server to parse html files as if they were php.

AddHandler application/x-httpd-php .html

This works with any files so if you want to create dynamic xml or asp files that behave like php files you simply edit the code as required:

AddHandler application/x-httpd-php .xml
AddHandler application/x-httpd-php .asp



Error pages
Custom error pages can be set up in cpanel fairly easily, if you want to create a custom error page in htaccess instead use this line:

ErrorDocument 404 http://www.yoursite.com/404.php


Directory Indexes
To avoid Google indexing your directory indexes you might need to specify an index page for your directories. This is not required on some servers.

DirectoryIndex index.php3

My preference is to redirect the directory index page to either the homepage or another suitable page. For example http://www.yoursite.com/images/ can normally be redirected to http://www.yoursite.com/ and http://www.yoursite.com/forum/ can normally be redirected to http://www.yoursite.com/forum/index.php



Redirecting pages
A nice simple use of htaccess is to redirect one page to another:

redirect 301 /old-page.php http://www.yoursite.com/new-page.php



Sending your feed to Feedburner
If you want to switch your feed to the Feedburner service you will need to redirect your current feed to the new http://feeds.feedburner.com/yourfeed location.
The redirect needs to apply to all users except the Feedburner spider:

RewriteCond %{HTTP_USER_AGENT} !FeedBurner
RewriteRule ^your-feed\.xml$ http://feeds.feedburner.com/your-feed [R,L]



Advanced hotlink protection
If you want to block other websites from hotlinking your images, but allow indexing of your images in the Google, Yahoo and MSN image search engines, you should use the code below:

RewriteEngine on
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^http://([^.]+\.)?yoursite\. [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteCond %{HTTP_REFERER} !msn\. [NC]
RewriteCond %{HTTP_REFERER} !yahoo\. [NC]
RewriteCond %{REQUEST_URI} !^/hotlinker\.gif$
RewriteRule \.(gif|jpg|png)$ /hotlinker.gif [NC,L]



The hotlinker.gif image is a custom image that you have created. I suggest using something like “This image was hotlinked from www.yoursite.com” and your logo.


My personal preference is to allow hotlinking but to implement a solution to make use of Google Images and hotlinkers to build links to your site.



Create beautiful url’s with mod_rewrite
The Apache rewrite engine is mainly used to turn dynamic url’s such as http://www.yoursite.com/product.php?id=123 into static and user friendly url’s such as http://www.yoursite.com/product/123

RewriteEngine on
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Another example, rewrite from:
http://www.yoursite.com/script.php?product=123 to http://www.yoursite.com/cat/product/123/

RewriteRule cat/(.*)/(.*)/$ /script.php?$1=$2

Removing query strings
Some websites like to link to you by adding an query string, for example I could link to http://www.yoursite.com/index.php?source=blogstorm just so you know where your traffic came from. This creates duplicate content issue for your site so you really need to redirect back to your homepage:

RewriteCond %{QUERY_STRING} ^source= RewriteRule (.*) /$1? [R=301,L]


Thanks to Patrick Altoft
__________________
The heaven's sound is composed inside your heart, listen to its beat to syncronize your life onto the angel's steps.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Live!Google!Sphinn!Stumbleupon!Yahoo!Spurl this Post!Reddit! Wong this Post!
Pergjigjuni me Citim
Pergjigju

Bookmarks

Alternativa Teme
Vleresojeni kete Teme
Vleresojeni kete Teme:

Rregullore Postimi
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is aktivizuar
Buzeqeshjet jane te aktivizuar
Kodi [IMG] eshte i aktivizuar
Kodi HTML eshte i dizaktivizuar
Trackbacks are aktivizuar
Pingbacks are aktivizuar
Refbacks are aktivizuar
Kapercim Forumesh


Te gjitha oret jane ne GMT +1. Ora tani eshte 08:14.




Parajsa Shqiptare