Zur Navigation

.htaccess - The Neverending Story

1 Chris (Gast)

Hallo Jörg,

ich stehe vor folgendem Problem:

Ich bin eina bsoluter Neuling im Umgang mit der .htaccess File.

Wir haben unsere Firmenhomepage in einem UNterverzeichnis installiert.
Also: www.domain/Unterverzeichnis/index.php

Wie krieg ich über MOd_Rewwrite nun hin das beim aufrufen der Domain eine Weiterleitung zum UNterverzeichnis entsteht, in der Adresslieste aber wieterhin nur die URL der Domain ohne das UNterverzeichnis steht?

Wäre über deine Hilfe sehr sehr dankbar!

Viele Grüße
Chris

25.02.2009 14:13

2 Jörg

Du kannst es so probieren:

RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} !/Unterverzeichnis/
RewriteRule ^(.*)$ Unterverzeichnis/$1

Besser wäre es aber noch, (in der Konfiguration des Webspaces) der Domain das Unterverzeichnis zuzuordnen, dann muss in der .haccess nichts umgeschrieben werden.

25.02.2009 15:55

3 Chris (Gast)

Hi Jörg,

das Ganze funktioniert so nicht.
Ich habe das Unterverzeichnis eingetragen etc. aber ich krieg nur einen 500-er Fehler.

Muss ich vieleicht den genauen Pfad, also "domain.bla/unterverzeichnis/index.php" angeben?

Ich habe bisher eine Weiterleitung des Domainnamens selbst eingerichtet aber ich möchte nicht dass das Unterverzeichnis in der URL sichtbar ist.
So kam ich auf die .htaccess-Geschichte.

Gibt es noch andere Lösungsansätze?

25.02.2009 16:44

4 Jörg

Ich habe bisher eine Weiterleitung des Domainnamens selbst eingerichtet aber ich möchte nicht dass das Unterverzeichnis in der URL sichtbar ist.

Steht die noch in der .htaccess? So etwas kann zusammen mit dem Rewrite zu einer Endlosschleife und infolgedessen zu einem 500er führen. Bitte mal den gesamten Inhalt der .htaccess posten.

25.02.2009 17:47

5 Chris (Gast)

Redirect permanent /index.html /unterverzeichnis/index.php
So sieht sie bisher aus...
Die Datei liegt im Hauptverzeichnis der Domain.

Wobei ich die Weiterleitung der Domain auch herausgenommen habe so dass jeder Aufruf im Hauptverzeichnis landet.

27.02.2009 09:53

6 Jörg

Versuch's mal mit "REQUEST_URI" statt mit "THE_REQUEST":

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !/Unterverzeichnis/
RewriteRule ^(.*)$ Unterverzeichnis/$1

27.02.2009 10:42

7 Chris (Gast)

Super, so funktionierts! Velen Dank :-)

Gibts auch noch ne Möglichkeit das Ganze im CMS zu verschleiern?
Wenn man sich durchs Menü klickt steht das "unterverzeichnis" wieder da da der Zugriff ja nicht über das Hauptverzeichnis geht.

Gibts dafür ne Lösung?

27.02.2009 12:43

8 Jörg

Gibt es in Unterverzeichnis eine .htaccess mit Rewrite Rules? Wenn ja: wie ist der Inhalt?

Und wie sehen die Links des CMS aus - handelt es sich um absolute Pfade? diese müssten dann gegebenfalls noch angepasst werden (in der Konfiguration des CMS)

27.02.2009 13:14 | geändert: 27.02.2009 13:15

9 Chris (Gast)

Hier nun die .htaccess des CMS.

Options +FollowSymLinks

#
#  mod_rewrite in use

RewriteEngine On

########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

# RewriteBase /


########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#

27.02.2009 14:15

10 Jörg

Und wie sehen (im HTML-Quelltext) die Links im Menü aus?

27.02.2009 14:27