Sonntag, 9. August 2015

SetEnvIf Request_URI not working due to rewrite rule


The Apache HTTPD has some nice configuration options, to change its behaviour dynamically. So is the SetEnvIf module and command, which sets an environment(env) variable based on a regex match to a variable.

If you like to set a special environment variable for the URI /index.html you can easily apply

SetEnvIf Request_URI /index.html is_index

then on every call /index.html the variable is_index will be set true.
But what if you are applying a rewrite rule like

RewriteRule .* index.php [L]

What will happen to your environment variable? Will the URI /index.html be rewritten to index.php and the env variable is_index be set? Apparently not. To test this you can write the regex match to an env variable with

SetEnvIf  Request_URI (.*) match=$1

Printing this will show you /index.php for every uri you call. Why? Because you are rewriting the uri with mod_rewrite.
To set an env variable for an uri before rewriting, you have to set it during the rewrite.
A configuration for setting the env variable for index.html and rewriting everything for index.php would look like:

RewriteRule index.html index.php [E=is_index:1,L]

RewriteRule .* index.php [L]

Tool to test Mod Rewrite config http://martinmelin.se/rewrite-rule-tester/

Blogging another try

-->
Well, I haven’t been an active blogger in the last years, but I think it’s time to give it another try and write blog post more regularly. Meanwhile I am working in business, I try to blog about more technical thoughts, than on business thoughts.

Mittwoch, 16. Januar 2013

Tomcat - Installation als Daemon

In letzter Zeit wurde ich öfters nach einem etwas älteren Beitrag über die Installation von Tomcat als Daemon gefragt, diesen möchte ich an dieser Stelle noch einmal veröffentlichen. Die Tomcat- und Java-Version für die dieser Artikel geschrieben wurde sind schon etwas älter, jedoch sollte die Installation immer noch analog funktionieren.

Installation von Java

Laden sie sich von [1] die J2SE(J2SDK, JDK), als rpm.bin, herunter. Die Installation verläuft relativ einfach zuerst die Datei mit "chmod 777 -rpm.bin" ausführbar machen und dann die Datei ausführen "./-rpm.bin". Jetzt kommt eine Linzens Vereinbarung drücken sie "q", nun werden sie gefragt ob sie einverstanden sind und tippen ihre Auswahl ein(für Ja tippen sie yes und für nein no). So nun wird eine rpm entpackt diese wird ausgeführt mit "rpm -ivh .rpm". Java ist nun unter "/usr/java/" installiert, um Java auch in der Konsole zur Verfügung zu haben ergänzen sie in der bashrc(oder einer anderen shell konfigurations-Datei) unten
JAVA_HOME=/usr/java/
PATH=$PATH:/usr/java/
export JAVA_HOME PATH

nun einmal ausloggen und wieder einloggen und Nun können sie in der shell Java-classen ausführen oder auch kompilieren. Dies kann getestet werden in dem man z.B. java in die Konsole eingibt.

Installation des Tomcat

Dazu müssen sie sich von [2] die aktuelle Version des Tomcat-Servers herunter laden. Da sie in einer tar.gz vorliegt müssen sie diese erst mal in ihr gewünschtes Installations- Verzeichnis kopieren (bei mir /usr) entpacken sie die tar.gz mit "tar -zxvf >tomcat<.tar.gz", nun ändern wir das Namen des entstandenen Verzeichnisses mit dem Namen jakarta- in tomcat5 um. Der Tomcat-Server kann jetzt mit der startup.sh im Verzeichnis ./bin der Tomcat Installation gestartet werden. Installation als Daemon
Dazu müssen sie in der Shell in das Verzeichnis /usr/tomcat5/bin wechseln(mit "cd /usr/tomcat5/bin"). In diesem Verzeichnis ist die Datei jsvc.tar.gz enthalten, diese sollte nun entpackt werden mit "tar -zxvf jsvc.tar.gz". Nun wechseln sie in das Verzeichnis ./jsvc-src und führen nacheinander "autoconf", "chmod 777 configure", "./configure", "make" und "cp jsvc ..". Passen sie nun die Datei Tomcat5.sh im Verzeichnis /usr/tomcat5/bin/jsvc-src/native, an ihre Einstellungen an.
Nun muss in der Datei nur noch für chkconfig angepasst werden fügen sie dazu in der Tomcat5.sh
#
# Startup script for the Tocmat-Server
#
# chkconfig: - 84 16
# description: Tomcat is a JSP/Servlet Engine. It is used to serve \
# HTML files, JSP-files and Servlets .
# processname: Tomcat5
# pidfile: /var/run/jsvc.pid
# config: /usr/tomcat5/conf/server.xml“

oben nach "#!/bin/sh" ein.
 Kopieren sie diese Datei nach /etc/init.d. Nun muss der Tomcat noch zu den Diensten hinzu gefügt werden mit "chkconfig --add Tomcat5 ", nun ist er als dienst verfügbar.

[1] http://java.sun.com/downloads/index.html
[2] http://jakarta.apache.org/site/binindex.cgi

Montag, 3. Januar 2011

Firefox Suche für neue SLUB-Seite


Um mithilfe der Firefox Suche die SLUB-Suche aufrufen zu können, kann der Such-Plugin hier installiert werden.

Samstag, 1. Mai 2010

Kostenlos Bücher im Netz lesen


In Zeiten von Google Books ist es zwar nichts Neues, Bücher online lesen zu können, doch wollte ich die Seite paperc.de doch einmal erwähnen. Auf PaperC können Fachbücher kostenlos online gelesen werden und für 10ct pro Seite können diese auch ausgedruckt werden.
Dies stellt allerdings nichts wirklich Revolutionäres dar, doch empfand ich den großen Umfang an IT-Büchern sehr angenehm. Leider scheint es auf PaperC fast ausschließlich IT-Fachbücher zugeben, womit es für mein Studium eher nutzlos wird.
Ein weiterer Nachteil ergibt sich auch für die Nutzer des Flash-Phoben Ipads, da Paper C alle Seiten in Flash darstellt.

Mittwoch, 10. Februar 2010

Google Pistenview

Nach StreetView hat Google im Rahmen der Olympischen Winterspiele endlich etwas für mich eingeführt. Es ist StreetView auf Pisten, also Google SlopeView ;-)



Hier ein Beispiel, nur sind die Richtungslinien etwas verwirrend.


View Larger Map

Googles SlopeView ist definitiv etwas für mich, würde mich sogar kostenlos als Motorschlittenfahrer zur Verfügung stellen

Samstag, 30. Januar 2010

SLUB Suche für Firefox

Es ist einfach nervig immer auf die Seite der SLUB gehen zu müssen, nur um die Suche zu benutzen. Viel einfacher wäre es doch, wenn aus dem Firefox-Suchfeld im WebOpac der SLUB gesucht werden könnte.



Um dies zu umgehen, gibt es jetzt ein SLUB-Suchplugin für den Firefox, dass hier installiert werden kann.