diff --git a/config.sh b/config.sh
index b086cef..d153786 100644
--- a/config.sh
+++ b/config.sh
@@ -6,11 +6,11 @@ export FILES="/var/www/html"
# Wie soll der Titel der Dateiliste sein, die aufgerufene URL ist in $URL enthalten.
export HTMLTITLE="Datei: $URL"
-# Wo soll das Fertige HTML-Dokument gespeichert werden? Die Variable $HTMLFILEID muss enthalten sein!
-export HTMLFILE="/tmp/simpsh-html.${HTMLFILEID}.html"
+# Wo soll das Fertige HTML-Dokument gespeichert werden? Die Variable $OUTFILEID muss enthalten sein!
+export OUTFILE="/tmp/simpsh-html.${OUTFILEID}.html"
-# Welcher Content-Type soll bei einer Unbekannten Datei gesendet werden?
-export DEFAULTCONTENT="text/html"
+# Welcher Content-Type soll bei einem Unbekannten Dateityp gesendet werden?
+export DEFAULTCONTENTTYPE="text/html"
# Port zum lauschen (Falls start-socat.sh als startscript verwendet wird)
export PORT=8888
diff --git a/filelist.sh b/filelist.sh
new file mode 100644
index 0000000..872cbce
--- /dev/null
+++ b/filelist.sh
@@ -0,0 +1,22 @@
+#! /bin/bash
+
+status="$URL"
+
+# Statisches HTML
+echo '
+
+ '"${HTMLTITLE}"'
+
+
+ '"$status"'
+ Directory list:
+ ..
' >> $OUTFILE
+
+# Erstelle Dateiliste im HTML-Format
+for i in $( ls "${FILE}" ); do
+ echo ' '"${i}"'
' >> $OUTFILE
+done
+
+# Statisches HTML
+echo '
+' >> $OUTFILE
diff --git a/httpheaders.sh b/httpheaders.sh
index ac5bcb5..0a0021f 100644
--- a/httpheaders.sh
+++ b/httpheaders.sh
@@ -1,14 +1,6 @@
#! /bin/bash
-if [ "$CONTENTTYPE" = "html" ]; then
- echo 'HTTP/1.1 200 OK' >> $HTMLFILE
- echo 'Date: '"$(date)" >> $HTMLFILE
- echo 'Server: httpd' >> $HTMLFILE
- echo 'Content-Type: text/html' >> $HTMLFILE
- echo '' >> $HTMLFILE
-else
- echo 'HTTP/1.1 200 OK' >> $HTMLFILE
- echo 'Date: '"$(date)" >> $HTMLFILE
- echo 'Server: httpd' >> $HTMLFILE
- echo 'Content-Type: '"$CONTENT" >> $HTMLFILE
- echo '' >> $HTMLFILE
-fi
+echo "$ANSWER" >> $OUTFILE
+echo 'Date: '"$(date)" >> $OUTFILE
+echo 'Server: httpd' >> $OUTFILE
+echo 'Content-Type: '"$CONTENTTYPE" >> $OUTFILE
+echo '' >> $OUTFILE
diff --git a/init.sh b/init.sh
index 0de45ea..d8420da 100644
--- a/init.sh
+++ b/init.sh
@@ -1,3 +1,3 @@
#! /bin/bash
-export HTMLFILEID="$RANDOM"
+export OUTFILEID="$RANDOM"
diff --git a/main.sh b/main.sh
index 6f00a64..a9eba16 100644
--- a/main.sh
+++ b/main.sh
@@ -12,11 +12,14 @@
# Eine kurze sicherheutsüberprüfung...
. ./urlcheck.sh
-# Schreibe fertiges HTML-Dokument
-. ./writehtml.sh
+# Wenn das Dokument schon fertig ist, dann den folgenden Schritt überspringen
+if [ "$DONE" != "true" ]; then
+ # Schreibe fertiges HTML-Dokument
+ . ./sendfile.sh
+fi
# Verwende unix2dos auf das Dokument...
-unix2dos $HTMLFILE &> /dev/null
+unix2dos $OUTFILE &> /dev/null
# Gebe fertiges HTML-Dokument aus
-cat $HTMLFILE
+cat $OUTFILE
diff --git a/sendfile.sh b/sendfile.sh
new file mode 100644
index 0000000..79660af
--- /dev/null
+++ b/sendfile.sh
@@ -0,0 +1,19 @@
+#! /bin/bash
+
+# Überprüfe: Muss eine Dateiliste ausgegeben werden? Ist es ein PHP-script?
+if [[ "$FILE" == *.php ]]; then
+ export ANSWER="HTTP/1.0 200 OK"
+ export CONTENTTYPE="text/html"
+ . ./httpheaders.sh
+ php "$FILE" >> $OUTFILE
+elif [ -f "${FILE}" ]; then
+ export ANSWER="HTTP/1.0 200 OK"
+ export CONTENTTYPE="$DEFAULTCONTENTTYPE"
+ . ./httpheaders.sh
+ cat "${FILE}" >> ${OUTFILE}
+else
+ export ANSWER="HTTP/1.0 200 OK"
+ export CONTENTTYPE="text/html"
+ . ./httpheaders.sh
+ . ./filelist.sh
+fi
diff --git a/urlcheck.sh b/urlcheck.sh
index 9daa261..99f07d1 100644
--- a/urlcheck.sh
+++ b/urlcheck.sh
@@ -8,12 +8,23 @@ fi
# Verhindere "/"-bug
if [ -d "$FILE" ]; then
-if [[ "$URL" != */ ]]; then
- #newURL="$URL"'/'
- #export URL="$newURL"
- #newFILE="$FILE"'/'
- #export FILE="$newFILE"
- echo 'HTTP/1.0 302 Moved permanently
+ if [[ "$URL" != */ ]]; then
+ export ANSWER='HTTP/1.0 302 Moved permanently
Location: '"${WEBSITE}${URL}"'/'
+ export CONTENTTYPE="$DEFAULTCONTENTTYPE"
+ . ./httpheaders.sh
+ export DONE=true
+ fi
fi
+
+# Erkenne index.html
+if [ -f "${FILE}index.html" ]; then
+ export URL="${URL}index.html"
+ export FILE="${FILE}index.html"
+fi
+
+# Erkenne index.php
+if [ -f "${FILE}index.php" ]; then
+ export URL="${URL}index.php"
+ export FILE="${FILE}index.php"
fi