ApacheRewrite: Unterschied zwischen den Versionen

Aus crazylinux.de
Zur Navigation springen Zur Suche springen
(ssl-redirect)
(highlighting)
Zeile 7: Zeile 7:
</source>
</source>


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


=external redirect=
=external redirect=
old: http://crazylinux.de/wiki/TAR<br>
eg. redirect http://crazylinux.de/wiki/TAR to http://crazylinux.de/TAR
new: http://crazylinux.de/TAR
<source lang="apache">
<source lang="apache">
RewriteRule ^/wiki/(.*)$        http://crazylinux.de/$1 [R=301,L]
RewriteRule ^/wiki/(.*)$        http://crazylinux.de/$1 [R=301,L]
Zeile 29: Zeile 27:
In this case the requested URL http://domain.com/foo.html would redirected to the URL http://www.domain.com/foo.html.
In this case the requested URL http://domain.com/foo.html would redirected to the URL http://www.domain.com/foo.html.


=Force SSL-Redirect for special directory=
=Force SSL-Redirect (for special directory)=
How to redirect http-traffic automatically to https
 
<source lang="apache">
<source lang="apache">
RewriteEngine on
RewriteEngine on
#RewriteCond %{SERVER_PORT} !^443$
#RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTPS} off
RewriteCond %{HTTPS} off
#for a special directory
RewriteRule ^/administrator(.*)$ https://%{SERVER_NAME}/administrator$1 [R,L]
RewriteRule ^/administrator(.*)$ https://%{SERVER_NAME}/administrator$1 [R,L]
#or for the whole server
RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [R,L]
</source>
</source>


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


 
Keywords: apache,mod_rewrite,file,rewrite,url,save,saving,htaccess,ssl,redirect,http,https,httpd.conf,443,80,seo
Keywords: apache,mod_rewrite,file,rewrite,url,save,saving,htaccess


[[Kategorie:WWW]]
[[Kategorie:WWW]]

Version vom 19. April 2008, 23:10 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 (SEO-Urls)

external redirect

eg. redirect http://crazylinux.de/wiki/TAR to http://crazylinux.de/TAR

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

the browser will see the difference

Redirect visitor by domain name

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]

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

Force SSL-Redirect (for special directory)

How to redirect http-traffic automatically to https

RewriteEngine on
#RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTPS} off

#for a special directory
RewriteRule ^/administrator(.*)$ https://%{SERVER_NAME}/administrator$1 [R,L]

#or for the whole server
RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [R,L]


Links

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

Keywords: apache,mod_rewrite,file,rewrite,url,save,saving,htaccess,ssl,redirect,http,https,httpd.conf,443,80,seo