ApacheRewrite: Unterschied zwischen den Versionen

Aus crazylinux.de
Zur Navigation springen Zur Suche springen
K (cat)
(by domain)
Zeile 15: Zeile 15:


the browser will see the difference
the browser will see the difference
=Redirect visitor by domain name=
DESCRIPTION: In some cases the same web site is accessible by different addresses, like domain.com, www.domain.com, www.domain2.com and we want to redirect it to one address.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R,L]
EXPLAIN: In this case the requested URL http://domain.com/foo.html would redirected to the URL http://www.domain.com/foo.html.
=Links=
http://www.widexl.com/scripts/documentation/mod_rewrite.html





Version vom 13. März 2007, 01:46 Uhr

internal redirect

Another solution for getting the browser to use the right filename for saving is to use mod_rewrite to hide the fact that you are using a script at all. Either in the httpd.conf or a .htaccess file, include something like the following:

RewriteEngine On
RewriteRule ^/downloads/(.*) /getFile.php?filename=$1 [NE]

mod_rewrite will translate the url, and the browser (and the user) won't know the difference.


external redirect

old: http://crazylinux.de/wiki/TAR
new: http://crazylinux.de/TAR

RewriteRule ^/wiki/(.*)$        http://crazylinux.de/$1 [R=301,L]

the browser will see the difference

Redirect visitor by domain name

DESCRIPTION: In some cases the same web site is accessible by different addresses, like domain.com, www.domain.com, www.domain2.com and we want to redirect it to one address.

RewriteEngine On RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [R,L]

EXPLAIN: In this case the requested URL http://domain.com/foo.html would redirected to the URL http://www.domain.com/foo.html.

Links

http://www.widexl.com/scripts/documentation/mod_rewrite.html


Keywords: apache,mod_rewrite,file,rewrite,url,save,saving,htaccess