You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.1 KiB
29 lines
1.1 KiB
10 years ago
|
<b>Apache webserver and rewrite rules</b>
|
||
|
|
||
|
Here are some rewrite codes I sometimes use. Rewrite is a very powerful Apache
|
||
|
module and so almost everything is possible. Some examples.
|
||
|
|
||
|
To rewrite your http://www.oldsite.org/something to the new URL
|
||
|
http://www.newsite.org/something, you can use the next code:
|
||
|
|
||
|
RewriteCond %{HTTP_HOST} ^www\.oldsite.org [NC]
|
||
|
RewriteRule ^ http://www.newsite.org%{REQUEST_URI} [L,R=301]
|
||
|
|
||
|
To do an action when the user don't have a special cookie, for example to force
|
||
|
somebody to the login page or redirect him to a welcome page. Take a look at the
|
||
|
second rule. This one prevents looping over these rule again and again.
|
||
|
|
||
|
RewriteCond %{HTTP_COOKIE} !logincookie
|
||
|
RewriteCond %{QUERY_STRING} !page=login
|
||
|
RewriteRule ^(.*)$ %{REQUEST_URI}?page=login [L,R]
|
||
|
|
||
|
To rewrite a request if it's a search result from google.
|
||
|
|
||
|
RewriteCond %{HTTP_REFERER} ^http://www\.google [NC]
|
||
|
RewriteRule ^ http://www.somewhere.com/something.gif [R]
|
||
|
|
||
|
To simple forward your request to your internal server2 on port 8080:
|
||
|
|
||
|
RewriteEngine On
|
||
|
RewriteRule ^/app/(.*)$ http://server2:8080/app1/$1 [P]
|