SlideShare a Scribd company logo
How to redirect URL
                                         with Apache web server




1 xx 2 xx 3 xx 4 xx 5 xx
 Informational   Success   Redirection       Client error   Server error
1   2
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
    •   Main reason for redirect URL
    •   Preparing stuff
           p    g
    •   Where we place the rule
    •   Rewrite rule
    •   Example 1 : non-www to www redirection
    •   Example 2 : normal redirection
    •   Example 3 : sub domain redirection
Http status code
It i response status code which i part of th HTTP/ standard.
   is          t t     d hi h is     t f the HTTP/1.1 t d d




 1 xx
          Informational
            f         l   Server i performing
                                  is    f   i
                          some further action
                          and does not yet have a




                                                               4 xx
                          definitive response
                                                                 Client error
                                                                                Error was found from
                                                                                client side




 2 xx
               Success
                          The action requested by
                          the client was




                                                               5 xx
                          successful received
                                                                Server error
                                                                                The server failed to
                                                                                fulfill a valid request




 3 xx
            Redirection
                          Site will be redirected
                          or URL forwarding
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
    •   Main reason for redirect URL
    •   Preparing stuff
           p    g
    •   Where we place the rule
    •   Rewrite rule
    •   Example 1 : non-www to www redirection
    •   Example 2 : normal redirection
    •   Example 3 : sub domain redirection
1 xx
    Informational     Server is performing
                                                                                                                       1   2
                      some further action
                      and does not yet have a
                      definitive
                      d fi i i response




 Status code                                                     Description


    100             Allow a client that is sending a request message to determine if server is willing to accept the
  continue          request.

    101
                    Server will switch protocols to those defined by the response's Upgrade header field immediately
 Switching
                    after the empty line which terminates the 101 response.
 Protocols
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
    •   Main reason for redirect URL
    •   Preparing stuff
           p    g
    •   Where we place the rule
    •   Rewrite rule
    •   Example 1 : non-www to www redirection
    •   Example 2 : normal redirection
    •   Example 3 : sub domain redirection
2 xx
              Success
                                                                                                                            1   2
                            The action requested by
                            the client was
                            successful received




 Status code                                                        Description


     201
                        New resource being created.
   created


     202
                        The request has been accepted for processing.
   accepted

    203
    non-                The returned metainformation in the entity-header is not the definitive set as available from the
authoritative           origin server.
information

     204                The server has fulfilled the request but does not need to return an entity-body, and might want to
  no content            return updated metainformation.


     205                The server has fulfilled the request and the user agent should reset the document view which
reset content           caused the request to be sent.


     206
                        The server has fulfilled the partial GET request for the resource.
partial content
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
    •   Main reason for redirect URL
    •   Preparing stuff
           p    g
    •   Where we place the rule
    •   Rewrite rule
    •   Example 1 : non-www to www redirection
    •   Example 2 : normal redirection
    •   Example 3 : sub domain redirection
3 xx
         Redirection
                                                                                                                      1    2
                          Site will be redirected
                          or URL forwarding




  Status code                                                     Description


      300
                       The requested resource correspond to multiple specific location.
Multiple Choices

     301
    Moved              The requested resource has been assigned to new permanent URI.
 Permanently

     302               The requested resource resides temporarily under a different URI. This response is only cacheable
    Found              if indicated by a Cache-Control or Expires header field.


      303              The response to the request can be found under a different URI and SHOULD be retrieved using a
   See Other
   S Oth               GET method on that resource.
                               th d    th t


     304               If the client has performed a conditional GET request and access is allowed, but the document has
 Not Modified          not been modified.


     305
                       The requested resource must be accessed through the proxy given by the location field.
   Use Proxy
1     2

Status code                                               Description


  306         The 306 status code was used in a previous version of the specification, is no longer used, and the
(Unused)      code is reserved.

   307        If the 307 status code is received in response to a request other than GET or HEAD, the user agent
Temporary     must not automatically redirect the request unless it can be confirmed by the user, since this might
 Redirect     change the conditions under which the request was issued.
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
    •   Main reason for redirect URL
    •   Preparing stuff
           p    g
    •   Where we place the rule
    •   Rewrite rule
    •   Example 1 : non-www to www redirection
    •   Example 2 : normal redirection
    •   Example 3 : sub domain redirection
4 xx
        Client error
                                                                                                                      1    2
                       Error was found from
                       client side




 Status code                                                     Description


    400
                   The requested cannot be fulfilled due to bad syntax.
Bad Request


    401
                   It will happen when authentication has failed.
Unauthorized

    402
  Payment          Reserve for future use for digital cash or micro payment.
  Required

    4 3
    403
                   The q t
                   Th request was a legal request, but the server is refusing to respond t it
                                    l l q t b t th                i    f i t           d to it.
 Forbidden


    404
                   The requested resource could not be found but may be available again in the future.
 Not Found

   405
                   A request was made of a resource using a request method not supported by that resource. For example, 
Method Not
                   using GET on a form which requires data to be presented via POST.
 Allowed
1   2

  Status code                                                  Description


     406          The requested resource is only capable of generating content not acceptable according to the
Not Acceptable    Accept headers sent in the request.

     407
    Proxy
                  It need proxy authentication for accessing the site.
Authentication
  Required

     408
                  The server timed out waiting for the request.
Request Timeout


     4 9
     409
                  Indicates that the request could not be processed because of conflict in the request
                                                                                               request.
    Conflict


      410
                  Indicates that the resource requested is no longer available and will not be available again.
     Gone


      411
                  The request did not specify the length of its content.
Length Required

     412
 Precondition     The server does not meet one of the preconditions that the requester put on the request.
    Failed

      413
 Request Entity   The request is larger than the server is willing or able to process.
   Too Large
1   2

  Status code                                                   Description

     414
 Request-URI       The URI provided was too long for the server to process.
  Too Long

     415
 Unsupported       The request entity has a media type which the server or resource does not support.
 Media Type

      416
Requested Range    The client has asked for a portion of the file, but the server cannot supply that portion.
 Not Satisfiable

     417
  Expectation
  E    t ti        The
                   Th server cannot meet the requirements of the E
                                  t    t th      i     t f th Expect request-header fi ld
                                                                   t       t h d field.
    Failed

      418
                   This request is not expected to be implemented by actual HTTP servers.
           p
  I'm a teapot
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
    •   Main reason for redirect URL
    •   Preparing stuff
           p    g
    •   Where we place the rule
    •   Rewrite rule
    •   Example 1 : non-www to www redirection
    •   Example 2 : normal redirection
    •   Example 3 : sub domain redirection
5 xx
        Server error
                                                                                                                            1     2
                          The server failed to
                          fulfill a valid request




 Status code                                                        Description

      500
Internal Server        A generic error message, given when no more specific message is suitable.
     Error

    501
    Not                The server either does not recognize the request method, or it lacks the ability to fulfill the request.
Implemented

     502               The server was acting as a gateway or proxy and received an invalid response from the upstream
 Bad Gateway           server.

    503
  Service
  S i                  The
                       Th server is currently unavailable (because it is overloaded or d
                                 i        tl       il bl (b           i      l d d down f maintenance).
                                                                                         for i t     )
 Unavailable

     504
                       The server was acting as a gateway or proxy and did not receive a timely response from the
   Gateway
                       upstream server.
   Timeout

     505
HTTP Version           The server does not support the HTTP protocol version used in the request.
Not Supported
1   2

  Status code                                                   Description
                                                                      p

      506
  Variant Also    Transparent content negotiation for the request results in a circular reference.
   Negotiates

      507
  Insufficient    Disk is running out of space.
    Storage

     509
Bandwidth Limit   This status code, while used by many servers, is not specified in any RFCs.
   Exceeded


      510
                  Further extensions to the request are required for the server to fulfill it.
 Not Extended
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
       Main reason for redirect URL
    •   Preparing stuff
           p    g
    •   Where we place the rule
    •   Rewrite rule
    •   Example 1 : non-www to www redirection
    •   Example 2 : normal redirection
    •   Example 3 : sub domain redirection
1   2
Main reason for redirect URL

 1. Security
   Hide underlying technology – index.php
               y g            gy        p p
   Hide actual path of files – http://www.xxx.com/images/simple?photo=34



 2. Good for people
   Easy to remember – http://www.xxx.com



 3. Good for search engine
   Search engine like friendly URL – http://www.xxx.com/contact
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
       Main reason for redirect URL
       Preparing stuff
           p    g
    •   Where we place the rule
    •   Rewrite rule
    •   Example 1 : non-www to www redirection
    •   Example 2 : normal redirection
    •   Example 3 : sub domain redirection
1   2
Preparing stuff




Install Apache on your web server and enable “mod_rewrite” engine

Rewrite Engine On
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
       Main reason for redirect URL
       Preparing stuff
           p    g
       Where we place the rule
    •   Rewrite rule
    •   Example 1 : non-www to www redirection
    •   Example 2 : normal redirection
    •   Example 3 : sub domain redirection
1   2
Where we place the rule

 • Apache config file - httpd.conf

 • Htaccess file - .htaccess
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
       Main reason for redirect URL
       Preparing stuff
           p    g
       Where we place the rule
       Rewrite rule
    •   Example 1 : non-www to www redirection
    •   Example 2 : normal redirection
    •   Example 3 : sub domain redirection
1   2
Rewrite rule
To be more understanding for rewrite rule, It’s good to familiar with the syntax and
pattern of rewrite rule.




                             Pattern                        Target               Flag
RewriteRule         ^somefile-([0-9]+).htm$         /dir/index.php?id=$1
                                                                p p                [L]
1   2
Pattern
Pattern has been used for matches the URL path and Regular expression has been used
to detect the requested URI.

Metacharacter

   Char                                                    Definition

           Use before any of the following characters to escape or null the meaning or it *  $ + [ ]
                                                                                        it.  .

    ^       Start matching at this point.

    $       End point of the match.

     .      Any character.

    []      Starts a class.

     |      Sta ts alternative atc t s|t at wou d ea
            Starts a te at ve match this|that would mean match t s o t at.
                                                          atc this or that.

    ()      Starts a back reference point.

     ?      Match 0 or 1 time Quantifier.

    +       Match atleast 1 or more times Quantifier.

     *      Match 0 to infinite times Quantifier.

    {}      Match minimum to maximum Quantifier {0,3} match up to 3 times.
1   2
Class []

    Char                                                   Definition

     ^     Negates the class. [^A-Z]+ means don't match any uppercases.

          Use before any of the following characters to escape or null the meaning or it. [ ]
                        y                g                   p                    g        [+]+.

     -     Range for matching [0-9]+ [a-zA-Z]+.
1   2
Target
It can b used f replacing any matched URL.
       be   d for  l i            h d




  File-system path


  URL path
                                             could be used
                                             as a target.
  Absolute URL


  - [dash] (no substitution)
1   2
Flag
Flag can modify the behavior of a Rewrite rule.

    Char                                                     Definition

    [R]     Redirect you can add an =301 or =302 to change the type.
              d               dd                     h      h

    [F]     Forces the URL to be forbidden. 403 header.

    [G]     Forces the URL to be gone 401 header.

    [L]     Last rule. (You should use this on all your rules that don't link together)

    [N]     Next round. Rerun the rules again from the start.

    [C]     Chains a rewrite rule together with the next rule
                                                         rule.

    [T]     Use T = MIME-type to force the file to be a mime type.

    [NS]    Use if no sub request is requested.

   [NC]     Makes the rule case Insensitive.

   [QSA]    Query String Append use to add to an existing query string.

   [NE]     Turns of normal escapes that are default in the rewrite rule.

    [PT]    Pass through to the handler. (together with mod alias)

    [S]     Skip the next rule S=3 skips the next 3 rules.

    [E]     E = sets an environmental variable that can be called by other rules.

    [P]     E = rules are served through a proxy subrequest.
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
       Main reason for redirect URL
       Preparing stuff
           p    g
       Where we place the rule
       Rewrite rule
       Example 1 : non-www to www redirection
    •   Example 2 : normal redirection
    •   Example 3 : sub domain redirection
1   2
Example 1 : non-www to www redirection
 http://xxx.com => redirect to h
 h                   d         http://www.xxx.com


                       Match h
                       M h this URL “h //
                                    “http://xxx.com”

  RewriteEngine        On

                                                          The pattern captured
  RewriteCond       %{HTTP_HOST} ^xxx.com                inside the parentheses


  RewriteRule       ^(.*)$      http://www.xxx.com/$1     [R=301,L]




Pattern inside parentheses is     Replace with this URL   Redirect with 301 and
capture as variable “$1”                                  make this as the last
                                                          Rewrite rule.
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
       Main reason for redirect URL
       Preparing stuff
           p    g
       Where we place the rule
       Rewrite rule
       Example 1 : non-www to www redirection
       Example 2 : normal redirection
    •   Example 3 : sub domain redirection
1   2
Example 2 : normal redirection
 http://xxx.com => redirect to h
 h                   d         http://yyy.com/about
                                               b


                       Match h
                       M h this URL “h //
                                    “http://xxx.com”

  RewriteEngine        On


  RewriteCond       %{HTTP_HOST} ^xxx.com


  RewriteRule       ^/(.*)$     http://yyy.com/about       [R=301,QSA,L]




Pattern inside parentheses is      Replace with this URL   Redirect with 301,
                                                                          301
capture as variable “$1” but it is                         query append string
not used for this case                                     and make this as the
                                                           last rewrite rule.
Topics

1   LEARN ABOUT HTTP STATUS CODE
       Http status code
       1xx Informational
       2xx Success
       3xx Redirection
       4xx Client error
       5xx Server error


2   HOW TO REDIRECT YOUR URL
       Main reason for redirect URL
       Preparing stuff
           p    g
       Where we place the rule
       Rewrite rule
       Example 1 : non-www to www redirection
       Example 2 : normal redirection
    •   Example 3 : sub domain redirection
1      2
Example 3 : sub domain redirection
http://xxx.com/blog/ => redirect to h
h              bl         d         http://blog.xxx.com/
                                           bl




RewriteEngine     On


RewriteRule     ^/blog/?(.*)$   http://blog.xxx.com/$1     [P,NC,L]




   Match “/blog/”
   M h “/bl /” pattern            Replace with this URL
                                  R l      i h hi          Rules
                                                           R l are served   d
                                                           through proxy, case
                                                           insensitive and make
                                                           this as the last Rewrite
                                                           rule.
References
http://www.webforgers.net/mod-rewrite/mod-rewrite-syntax.php
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
http://en.wikipedia.org/wiki/URL_redirection#Manual_redirect
Thank you for watching
      y              g
my presentation




                                  Created by
                           panu ausavasereelert
                          blog: http://panu.in.th
                         email: panu@panu in th
                                panu@panu.in.th
                             twitter: @panuinth

More Related Content

Viewers also liked (20)

PPT
The role of social care in services for people with disability
Social Care Ireland
 
PDF
Lab 4 handout 043012
Tim Arroyo
 
PDF
Undrah
enhmonh
 
PPT
Evaluation qu's 1&2
billy-sav
 
PPTX
Question 2
Kamamor
 
PPTX
Chad daley 1
chad101290
 
KEY
Sgp
canilive
 
PPT
Mi tv 2
Horia Radu
 
PPTX
10
Tim Arroyo
 
PPTX
Tpnº15
SantiSchutte
 
KEY
Hurricane
jrcBOY123
 
PPT
S ri vs traditional aga khan rural support programme (india), locaton dangs d...
Yogesh Bhatt
 
PPT
Comun.masa.rot
Adela Negura
 
PDF
President of egypt - moeshesh - رئيس مصر
Mohamed Shishtawy
 
PDF
Point d'avancement sur le Projet Mobilité
The Shift Project
 
PPT
Matt Talbot Services Presentation
Social Care Ireland
 
PPT
Dimple bawri oct 11
Mayuri Pitale
 
PDF
Social Media Best Practices
Wahine Media
 
PDF
AWWA/WEF Student Chapter Presentation
Zachary Collins
 
PPTX
OER Overview (MCCLPHEI Annual Conference 6/19/14 Salem, MA)
Nicole Allen
 
The role of social care in services for people with disability
Social Care Ireland
 
Lab 4 handout 043012
Tim Arroyo
 
Undrah
enhmonh
 
Evaluation qu's 1&2
billy-sav
 
Question 2
Kamamor
 
Chad daley 1
chad101290
 
Mi tv 2
Horia Radu
 
Tpnº15
SantiSchutte
 
Hurricane
jrcBOY123
 
S ri vs traditional aga khan rural support programme (india), locaton dangs d...
Yogesh Bhatt
 
Comun.masa.rot
Adela Negura
 
President of egypt - moeshesh - رئيس مصر
Mohamed Shishtawy
 
Point d'avancement sur le Projet Mobilité
The Shift Project
 
Matt Talbot Services Presentation
Social Care Ireland
 
Dimple bawri oct 11
Mayuri Pitale
 
Social Media Best Practices
Wahine Media
 
AWWA/WEF Student Chapter Presentation
Zachary Collins
 
OER Overview (MCCLPHEI Annual Conference 6/19/14 Salem, MA)
Nicole Allen
 

Similar to How to redirect URL with Apache web server (20)

PDF
A Simple Guide to Proxy Error and Troubleshooting Issues
X-Byte Enterprise Crawling
 
PPTX
HTTP Request Header and HTTP Status Code
Abhishek L.R
 
PPTX
BITM3730 11-1.pptx
MattMarino13
 
PDF
BITM3730 Networking.pdf
MattMarino13
 
PDF
HTTP Status Codes Cheat Sheet: An Exhaustive List
Mainstreethost
 
PPTX
BITM3730Week9(1).pptx
MattMarino13
 
PDF
Servlets http-status-codes
Rachana Joshi
 
PPTX
Http Status Message - Pocket Guide
Santhosh Kumar
 
DOCX
SEO HTTP Response Codes List
Laxman Kotte
 
PPTX
HTTP Status Codes you should know and use while building APIs
BasheerAlMomani
 
PDF
Defense by numbers: Making Problems for Script Kiddies and Scanner Monkeys
Chris John Riley
 
PDF
REST 101: An Overview To Representational State Transfer.
Omar Fernando Zafe
 
PPTX
HTTP
jangezkhan
 
PPTX
Web technology Unit-I Part D - message format
SSN College of Engineering, Kalavakkam
 
PDF
When RSS Fails: Web Scraping with HTTP
Matthew Turland
 
PPTX
Http Status Code Errors in SEO
Adela Roger
 
PDF
The Art of API Design - PHP Tek 2025, Chris Tankersley
Chris Tankersley
 
PPTX
Common errors web.pptx [autosaved]
BESOR ACADEMY
 
PPTX
HTTP Response Codes | Errors
Siddharth Sharma
 
A Simple Guide to Proxy Error and Troubleshooting Issues
X-Byte Enterprise Crawling
 
HTTP Request Header and HTTP Status Code
Abhishek L.R
 
BITM3730 11-1.pptx
MattMarino13
 
BITM3730 Networking.pdf
MattMarino13
 
HTTP Status Codes Cheat Sheet: An Exhaustive List
Mainstreethost
 
BITM3730Week9(1).pptx
MattMarino13
 
Servlets http-status-codes
Rachana Joshi
 
Http Status Message - Pocket Guide
Santhosh Kumar
 
SEO HTTP Response Codes List
Laxman Kotte
 
HTTP Status Codes you should know and use while building APIs
BasheerAlMomani
 
Defense by numbers: Making Problems for Script Kiddies and Scanner Monkeys
Chris John Riley
 
REST 101: An Overview To Representational State Transfer.
Omar Fernando Zafe
 
Web technology Unit-I Part D - message format
SSN College of Engineering, Kalavakkam
 
When RSS Fails: Web Scraping with HTTP
Matthew Turland
 
Http Status Code Errors in SEO
Adela Roger
 
The Art of API Design - PHP Tek 2025, Chris Tankersley
Chris Tankersley
 
Common errors web.pptx [autosaved]
BESOR ACADEMY
 
HTTP Response Codes | Errors
Siddharth Sharma
 
Ad

Recently uploaded (9)

PPT
Assessment according to 19011-3 presentation.ppt
ibr1722011
 
PPTX
Presentatiof local anaesthesiaonon1.pptx
harmanjotsingh483731
 
PDF
Make an IMPACT: A Framework to Transform People, Teams, and Futures
Chandan Patary
 
PPTX
Impact_of_Power_Outages_Presentation.pptx
mansisingh27077
 
PPTX
UP SDRF History English.pptxdownload it is easy to understand
aanyatiwari1015
 
PPTX
Free Preparation and Survival Apps that can save your life
Bob Mayer
 
PDF
UCSP-Quarter1_M5.pdf POLITICS AND POLITICL
jaredcagampan86
 
PPTX
LESSON 1 IN PHILOSOPHY- INTRODUCTION TO PHILOSOPHY
MaimaiAlleraAcpal
 
PPTX
Positive Role Modeling for Personal Growth.pptx
StrengthsTheatre
 
Assessment according to 19011-3 presentation.ppt
ibr1722011
 
Presentatiof local anaesthesiaonon1.pptx
harmanjotsingh483731
 
Make an IMPACT: A Framework to Transform People, Teams, and Futures
Chandan Patary
 
Impact_of_Power_Outages_Presentation.pptx
mansisingh27077
 
UP SDRF History English.pptxdownload it is easy to understand
aanyatiwari1015
 
Free Preparation and Survival Apps that can save your life
Bob Mayer
 
UCSP-Quarter1_M5.pdf POLITICS AND POLITICL
jaredcagampan86
 
LESSON 1 IN PHILOSOPHY- INTRODUCTION TO PHILOSOPHY
MaimaiAlleraAcpal
 
Positive Role Modeling for Personal Growth.pptx
StrengthsTheatre
 
Ad

How to redirect URL with Apache web server

  • 1. How to redirect URL with Apache web server 1 xx 2 xx 3 xx 4 xx 5 xx Informational Success Redirection Client error Server error
  • 2. 1 2 Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL • Main reason for redirect URL • Preparing stuff p g • Where we place the rule • Rewrite rule • Example 1 : non-www to www redirection • Example 2 : normal redirection • Example 3 : sub domain redirection
  • 3. Http status code It i response status code which i part of th HTTP/ standard. is t t d hi h is t f the HTTP/1.1 t d d 1 xx Informational f l Server i performing is f i some further action and does not yet have a 4 xx definitive response Client error Error was found from client side 2 xx Success The action requested by the client was 5 xx successful received Server error The server failed to fulfill a valid request 3 xx Redirection Site will be redirected or URL forwarding
  • 4. Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL • Main reason for redirect URL • Preparing stuff p g • Where we place the rule • Rewrite rule • Example 1 : non-www to www redirection • Example 2 : normal redirection • Example 3 : sub domain redirection
  • 5. 1 xx Informational Server is performing 1 2 some further action and does not yet have a definitive d fi i i response Status code Description 100 Allow a client that is sending a request message to determine if server is willing to accept the continue request. 101 Server will switch protocols to those defined by the response's Upgrade header field immediately Switching after the empty line which terminates the 101 response. Protocols
  • 6. Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL • Main reason for redirect URL • Preparing stuff p g • Where we place the rule • Rewrite rule • Example 1 : non-www to www redirection • Example 2 : normal redirection • Example 3 : sub domain redirection
  • 7. 2 xx Success 1 2 The action requested by the client was successful received Status code Description 201 New resource being created. created 202 The request has been accepted for processing. accepted 203 non- The returned metainformation in the entity-header is not the definitive set as available from the authoritative origin server. information 204 The server has fulfilled the request but does not need to return an entity-body, and might want to no content return updated metainformation. 205 The server has fulfilled the request and the user agent should reset the document view which reset content caused the request to be sent. 206 The server has fulfilled the partial GET request for the resource. partial content
  • 8. Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL • Main reason for redirect URL • Preparing stuff p g • Where we place the rule • Rewrite rule • Example 1 : non-www to www redirection • Example 2 : normal redirection • Example 3 : sub domain redirection
  • 9. 3 xx Redirection 1 2 Site will be redirected or URL forwarding Status code Description 300 The requested resource correspond to multiple specific location. Multiple Choices 301 Moved The requested resource has been assigned to new permanent URI. Permanently 302 The requested resource resides temporarily under a different URI. This response is only cacheable Found if indicated by a Cache-Control or Expires header field. 303 The response to the request can be found under a different URI and SHOULD be retrieved using a See Other S Oth GET method on that resource. th d th t 304 If the client has performed a conditional GET request and access is allowed, but the document has Not Modified not been modified. 305 The requested resource must be accessed through the proxy given by the location field. Use Proxy
  • 10. 1 2 Status code Description 306 The 306 status code was used in a previous version of the specification, is no longer used, and the (Unused) code is reserved. 307 If the 307 status code is received in response to a request other than GET or HEAD, the user agent Temporary must not automatically redirect the request unless it can be confirmed by the user, since this might Redirect change the conditions under which the request was issued.
  • 11. Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL • Main reason for redirect URL • Preparing stuff p g • Where we place the rule • Rewrite rule • Example 1 : non-www to www redirection • Example 2 : normal redirection • Example 3 : sub domain redirection
  • 12. 4 xx Client error 1 2 Error was found from client side Status code Description 400 The requested cannot be fulfilled due to bad syntax. Bad Request 401 It will happen when authentication has failed. Unauthorized 402 Payment Reserve for future use for digital cash or micro payment. Required 4 3 403 The q t Th request was a legal request, but the server is refusing to respond t it l l q t b t th i f i t d to it. Forbidden 404 The requested resource could not be found but may be available again in the future. Not Found 405 A request was made of a resource using a request method not supported by that resource. For example,  Method Not using GET on a form which requires data to be presented via POST. Allowed
  • 13. 1 2 Status code Description 406 The requested resource is only capable of generating content not acceptable according to the Not Acceptable Accept headers sent in the request. 407 Proxy It need proxy authentication for accessing the site. Authentication Required 408 The server timed out waiting for the request. Request Timeout 4 9 409 Indicates that the request could not be processed because of conflict in the request request. Conflict 410 Indicates that the resource requested is no longer available and will not be available again. Gone 411 The request did not specify the length of its content. Length Required 412 Precondition The server does not meet one of the preconditions that the requester put on the request. Failed 413 Request Entity The request is larger than the server is willing or able to process. Too Large
  • 14. 1 2 Status code Description 414 Request-URI The URI provided was too long for the server to process. Too Long 415 Unsupported The request entity has a media type which the server or resource does not support. Media Type 416 Requested Range The client has asked for a portion of the file, but the server cannot supply that portion. Not Satisfiable 417 Expectation E t ti The Th server cannot meet the requirements of the E t t th i t f th Expect request-header fi ld t t h d field. Failed 418 This request is not expected to be implemented by actual HTTP servers. p I'm a teapot
  • 15. Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL • Main reason for redirect URL • Preparing stuff p g • Where we place the rule • Rewrite rule • Example 1 : non-www to www redirection • Example 2 : normal redirection • Example 3 : sub domain redirection
  • 16. 5 xx Server error 1 2 The server failed to fulfill a valid request Status code Description 500 Internal Server A generic error message, given when no more specific message is suitable. Error 501 Not The server either does not recognize the request method, or it lacks the ability to fulfill the request. Implemented 502 The server was acting as a gateway or proxy and received an invalid response from the upstream Bad Gateway server. 503 Service S i The Th server is currently unavailable (because it is overloaded or d i tl il bl (b i l d d down f maintenance). for i t ) Unavailable 504 The server was acting as a gateway or proxy and did not receive a timely response from the Gateway upstream server. Timeout 505 HTTP Version The server does not support the HTTP protocol version used in the request. Not Supported
  • 17. 1 2 Status code Description p 506 Variant Also Transparent content negotiation for the request results in a circular reference. Negotiates 507 Insufficient Disk is running out of space. Storage 509 Bandwidth Limit This status code, while used by many servers, is not specified in any RFCs. Exceeded 510 Further extensions to the request are required for the server to fulfill it. Not Extended
  • 18. Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL  Main reason for redirect URL • Preparing stuff p g • Where we place the rule • Rewrite rule • Example 1 : non-www to www redirection • Example 2 : normal redirection • Example 3 : sub domain redirection
  • 19. 1 2 Main reason for redirect URL 1. Security Hide underlying technology – index.php y g gy p p Hide actual path of files – http://www.xxx.com/images/simple?photo=34 2. Good for people Easy to remember – http://www.xxx.com 3. Good for search engine Search engine like friendly URL – http://www.xxx.com/contact
  • 20. Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL  Main reason for redirect URL  Preparing stuff p g • Where we place the rule • Rewrite rule • Example 1 : non-www to www redirection • Example 2 : normal redirection • Example 3 : sub domain redirection
  • 21. 1 2 Preparing stuff Install Apache on your web server and enable “mod_rewrite” engine Rewrite Engine On
  • 22. Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL  Main reason for redirect URL  Preparing stuff p g  Where we place the rule • Rewrite rule • Example 1 : non-www to www redirection • Example 2 : normal redirection • Example 3 : sub domain redirection
  • 23. 1 2 Where we place the rule • Apache config file - httpd.conf • Htaccess file - .htaccess
  • 24. Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL  Main reason for redirect URL  Preparing stuff p g  Where we place the rule  Rewrite rule • Example 1 : non-www to www redirection • Example 2 : normal redirection • Example 3 : sub domain redirection
  • 25. 1 2 Rewrite rule To be more understanding for rewrite rule, It’s good to familiar with the syntax and pattern of rewrite rule. Pattern Target Flag RewriteRule ^somefile-([0-9]+).htm$ /dir/index.php?id=$1 p p [L]
  • 26. 1 2 Pattern Pattern has been used for matches the URL path and Regular expression has been used to detect the requested URI. Metacharacter Char Definition Use before any of the following characters to escape or null the meaning or it * $ + [ ] it. . ^ Start matching at this point. $ End point of the match. . Any character. [] Starts a class. | Sta ts alternative atc t s|t at wou d ea Starts a te at ve match this|that would mean match t s o t at. atc this or that. () Starts a back reference point. ? Match 0 or 1 time Quantifier. + Match atleast 1 or more times Quantifier. * Match 0 to infinite times Quantifier. {} Match minimum to maximum Quantifier {0,3} match up to 3 times.
  • 27. 1 2 Class [] Char Definition ^ Negates the class. [^A-Z]+ means don't match any uppercases. Use before any of the following characters to escape or null the meaning or it. [ ] y g p g [+]+. - Range for matching [0-9]+ [a-zA-Z]+.
  • 28. 1 2 Target It can b used f replacing any matched URL. be d for l i h d File-system path URL path could be used as a target. Absolute URL - [dash] (no substitution)
  • 29. 1 2 Flag Flag can modify the behavior of a Rewrite rule. Char Definition [R] Redirect you can add an =301 or =302 to change the type. d dd h h [F] Forces the URL to be forbidden. 403 header. [G] Forces the URL to be gone 401 header. [L] Last rule. (You should use this on all your rules that don't link together) [N] Next round. Rerun the rules again from the start. [C] Chains a rewrite rule together with the next rule rule. [T] Use T = MIME-type to force the file to be a mime type. [NS] Use if no sub request is requested. [NC] Makes the rule case Insensitive. [QSA] Query String Append use to add to an existing query string. [NE] Turns of normal escapes that are default in the rewrite rule. [PT] Pass through to the handler. (together with mod alias) [S] Skip the next rule S=3 skips the next 3 rules. [E] E = sets an environmental variable that can be called by other rules. [P] E = rules are served through a proxy subrequest.
  • 30. Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL  Main reason for redirect URL  Preparing stuff p g  Where we place the rule  Rewrite rule  Example 1 : non-www to www redirection • Example 2 : normal redirection • Example 3 : sub domain redirection
  • 31. 1 2 Example 1 : non-www to www redirection http://xxx.com => redirect to h h d http://www.xxx.com Match h M h this URL “h // “http://xxx.com” RewriteEngine On The pattern captured RewriteCond %{HTTP_HOST} ^xxx.com inside the parentheses RewriteRule ^(.*)$ http://www.xxx.com/$1 [R=301,L] Pattern inside parentheses is Replace with this URL Redirect with 301 and capture as variable “$1” make this as the last Rewrite rule.
  • 32. Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL  Main reason for redirect URL  Preparing stuff p g  Where we place the rule  Rewrite rule  Example 1 : non-www to www redirection  Example 2 : normal redirection • Example 3 : sub domain redirection
  • 33. 1 2 Example 2 : normal redirection http://xxx.com => redirect to h h d http://yyy.com/about b Match h M h this URL “h // “http://xxx.com” RewriteEngine On RewriteCond %{HTTP_HOST} ^xxx.com RewriteRule ^/(.*)$ http://yyy.com/about [R=301,QSA,L] Pattern inside parentheses is Replace with this URL Redirect with 301, 301 capture as variable “$1” but it is query append string not used for this case and make this as the last rewrite rule.
  • 34. Topics 1 LEARN ABOUT HTTP STATUS CODE  Http status code  1xx Informational  2xx Success  3xx Redirection  4xx Client error  5xx Server error 2 HOW TO REDIRECT YOUR URL  Main reason for redirect URL  Preparing stuff p g  Where we place the rule  Rewrite rule  Example 1 : non-www to www redirection  Example 2 : normal redirection • Example 3 : sub domain redirection
  • 35. 1 2 Example 3 : sub domain redirection http://xxx.com/blog/ => redirect to h h bl d http://blog.xxx.com/ bl RewriteEngine On RewriteRule ^/blog/?(.*)$ http://blog.xxx.com/$1 [P,NC,L] Match “/blog/” M h “/bl /” pattern Replace with this URL R l i h hi Rules R l are served d through proxy, case insensitive and make this as the last Rewrite rule.
  • 37. Thank you for watching y g my presentation Created by panu ausavasereelert blog: http://panu.in.th email: panu@panu in th [email protected] twitter: @panuinth