Hur man kan använda Apache mod_rewrite och mod_proxy i praktiken
Eftersom det är många som undrar hur Apache på Lotus är konfigurerat så har vi slängt upp en bit av httpd.conf är för allmän beskådning.
Dokumentation: mod_rewrite, mod_proxy
# dont forget to load the modules before using them
LoadModule proxy_module /usr/lib/apache/modules/libproxy.so
LoadModule rewrite_module /usr/lib/apache/modules/mod_rewrite.so
<IfModule mod_proxy.c>
# To enable the cache as well, edit and uncomment the following lines:
# (no cacheing without CacheRoot)
#
CacheRoot "/var/www/proxy"
CacheSize 5
CacheGcInterval 4
CacheMaxExpire 24
CacheLastModifiedFactor 0.1
CacheDefaultExpire 1
#NoCache a_domain.com another_domain.edu joes.garage_sale.com
</IfModule>
<VirtualHost *>
RewriteEngine on
# makes some requests on www.gudinna.com/gudinna to go to the new wiki url.. for backward compability with some old websearch indexes
RewriteRule ^/gudinna/([0-9]+)$ http://wiki.gudinna.com/$1 [R=permanent,L]
RewriteRule ^/gudinna/([0-9]+).html$ http://wiki.gudinna.com/$1 [R=permanent,L]
#when setting rewrite rules [R] one can use custom error codes when redirecting. [R=permanent] equals [R=301], [R] equals [R=302]
#[L] means stop processing rewrite rules after this rule L = Last
RewriteRule ^/gudinna/recent http://wiki.gudinna.com/recent [R=permanent]
RewriteRule ^/gudinna/help http://wiki.gudinna.com/help [R=permanent]
# block external links to files on the wiki
RewriteCond %{HTTP_REFERER} !http://wiki.gudinna.com* [NC]
RewriteCond %{HTTP_REFERER} !=""
RewriteRule /gudinna_uploads/* http://217.215.6.164:8000/BustedEye.gif [L]
RewriteCond %{HTTP_REFERER} !http://wiki.gudinna.com* [NC]
RewriteCond %{HTTP_REFERER} !=""
RewriteRule /gudinna_scheme/* http://217.215.6.164:8000/BustedEye.gif [L]
#Makes all error documents to go to the main page or a custom error page
ErrorDocument 404 http://wiki.gudinna.com
ErrorDocument 403 http://wiki.gudinna.com
</VirtualHost>
<VirtualHost *>
ServerName wiki.gudinna.com
ErrorDocument 502 http://www.gudinna.com/searchWhenWikiDown.html
ProxyPass / http://wiki.gudinna.com:8000/gudinna/
ProxyPassReverse / http://wiki.gudinna.com:8000/gudinna/
RewriteEngine on
RewriteRule ^/gudinna/(.*)$ /$1 [R=permanent]
RewriteRule ^/gudinna / [R=permanent]
#Some fixed files requests
RewriteRule ^/comanche.gif$ http://wiki.gudinna.com:8000/comanche.gif
RewriteRule ^/favicon.ico$ http://www.gudinna.com/favicon.ico
RewriteRule ^/robots.txt$ http://www.gudinna.com/wiki/robots.txt
RewriteRule ^/External.gif$ http://www.gudinna.com/wiki/External.gif
#Makes apache handle wiki workload for uploads and scheme graphics.
RewriteRule ^/schemes/gudinna/(.*)$ http://www.gudinna.com/gudinna_scheme/$1 [R=permanent]
#Some lines to block skript-kiddies from linking driectly to images on the wiki
# %{HTTP_REFERER} ="" is when a user presses the reload button
# first som eline sfor some legal requests.. (i think these lines are unnececery)
RewriteCond %{HTTP_REFERER} ^http://wiki.gudinna.com/(.*)$ [NC]
RewriteRule ^/uploads/(.*)$ http://www.gudinna.com/gudinna_uploads/$1 [L,R=permanent]
RewriteCond %{HTTP_REFERER} ^http://wiki.gudinna.com:8000/(.*)$ [NC]
RewriteRule ^/uploads/(.*)$ http://www.gudinna.com/gudinna_uploads/$1 [L,R=permanent]
RewriteCond %{HTTP_REFERER} =""
RewriteRule ^/uploads/(.*)$ http://www.gudinna.com/gudinna_uploads/$1 [L]
# these are the ILLEGAL requests!
RewriteCond %{HTTP_REFERER} !http://wiki.gudinna.com* [NC]
RewriteCond %{HTTP_REFERER} !=""
RewriteRule .*upload.* http://217.215.6.164:8000/BustedEye.gif [L]
Alias /schemes/gudinna/ "/var/www/htdocs/gudinna_scheme/"
<Directory "/var/www/htdocs/gudinna_scheme">
Options Indexes MultiViews
AllowOverride None
order allow,deny
Allow from all
</Directory>
#Forces edit page requests to go to the slower wiki for non proxy discrimination
RewriteRule ^/(.*.edit)$ http://wiki.gudinna.com:8000/gudinna/$1
RewriteRule ^/(.*.upload)$ http://wiki.gudinna.com:8000/gudinna/$1
RewriteRule ^/(.*.attach)$ http://wiki.gudinna.com:8000/gudinna/$1
RewriteRule ^/(.*.save)$ http://wiki.gudinna.com:8000/gudinna/$1
RewriteRule ^/(.*.append)$ http://wiki.gudinna.com:8000/gudinna/$1
</VirtualHost>
Referenser till aktuell sida