Unterverzeichnisse und mod_rewrite

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
bookhacker
Regular
Posts: 11
Joined: Mon Mar 05, 2018 11:53 pm
Contact:

Unterverzeichnisse und mod_rewrite

Post by bookhacker »

Habe versucht, ein MediaWiki innerhalb eines Unterordners meiner Serendipity-Installation zu installieren. Versuche ich, das MediaWiki aufzurufen (nehmen wir mal an, der Unterordner hieße "mediawiki"), z. B. per "meineurl.com/mediawiki", lande ich in meinem Serendipity-Blog: "Seite konnte nicht gefunden werden (404)."

Habe mal versucht, umzusetzen, was im FAQ-Eintrag steht: Leider ohne Erfolg: Ich lande beim Aufruf per ".htaccess" und "RewriteEngine Off" ausgeklammerter Unterverzeichnisse immer im blog (es sei denn, ich rufe direkt eine Datei in dem Unterverzeichnis auf z. B. "meineurl.com/mediawiki/index.php").

Habe mir (bzw. euch) mal ein kleines Test-Szenario aufgebaut, in dem ich den FAQ-Eintrag mal umgesetzt habe:

Funktioniert nicht:

https://bookhacker.org/test1234/

Ich lande im Blog. "Seite nicht gefunden".

Funktioniert:

https://bookhacker.org/test1234/index.html

Ich wüsste aus dem Stegreif auch nicht, was bei Aufruf von https://bookhacker.org/test1234/ passieren müsste, auf jeden Fall dürfte ich nicht im Blog landen, wenn das Unterverzeichnis per .htaccess und "RewriteEngine Off" ausgeklammert ist, oder? Oder passiert das wegen dem in dem Serendipity-.htaccess eingetragenen "ErrorDocument"? Ist dieses Verhalten also korrekt?

Oder anders gefragt: Wie müsste ich die .htaccess konfigurieren, damit der Aufruf "bookhacker.org/test1234/" nach "bookhacker.org/test1234/index.html" umleitet und ich nicht mehr nach Serendipity umgeleitet werde?

(Habe das Problem letzten Endes per Subdomain gelöst.)

Hier mal die involvierten Dateien:

".htaccess" im Serendipity Verzeichnis:

Code: Select all

# BEGIN s9y
ErrorDocument 404 /index.php
DirectoryIndex /index.php
Options -MultiViews

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^serendipity_admin.php serendipity_admin.php [NC,L,QSA]
RewriteRule ^((archives/([0-9]+)\-[0-9a-z\.\_!;,\+\-\%]+\.html)/?) index.php?/$1 [NC,L,QSA]
RewriteRule ^(authors/([0-9]+)\-[0-9a-z\.\_!;,\+\-\%]+) index.php?/$1 [NC,L,QSA]
RewriteRule ^(feeds/categories/([0-9;]+)\-[0-9a-z\.\_!;,\+\-\%]+\.rss) index.php?/$1 [NC,L,QSA]
RewriteRule ^(feeds/authors/([0-9]+)\-[0-9a-z\.\_!;,\+\-\%]+\.rss) index.php?/$1 [NC,L,QSA]
RewriteRule ^(categories/([0-9;]+)\-[0-9a-z\.\_!;,\+\-\%]+) index.php?/$1 [NC,L,QSA]
RewriteRule ^archives([/A-Za-z0-9]+)\.html index.php?url=/archives/$1.html [NC,L,QSA]
RewriteRule ^([0-9]+)[_\-][0-9a-z_\-]*\.html index.php?url=$1-article.html [L,NC,QSA]
RewriteRule ^feeds/(.*) index.php?url=/feeds/$1 [L,QSA]
RewriteRule ^unsubscribe/(.*)/([0-9]+) index.php?url=/unsubscribe/$1/$2 [L,QSA]
RewriteRule ^approve/(.*)/(.*)/([0-9]+) index.php?url=approve/$1/$2/$3 [L,QSA]
RewriteRule ^delete/(.*)/(.*)/([0-9]+) index.php?url=delete/$1/$2/$3 [L,QSA]
RewriteRule ^(admin|entries)(/.+)?$ index.php?url=admin/ [L,QSA]
RewriteRule ^archive/? index.php?url=/archive [L,QSA]
RewriteRule ^(index|atom[0-9]*|rss|b2rss|b2rdf).(rss|rdf|rss2|xml) rss.php?file=$1&ext=$2
RewriteRule ^(plugin|plugin)/(.*) index.php?url=$1/$2 [L,QSA]
RewriteRule ^search/(.*) index.php?url=/search/$1 [L,QSA]
RewriteRule ^comments/(.*) index.php?url=/comments/$1 [L,QSA]
RewriteRule ^(serendipity\.css|serendipity_admin\.css)$ index.php?url=/$1 [L,QSA]
RewriteRule ^(serendipity\.js|serendipity_admin\.js)$ index.php?url=/$1 [L,QSA]
RewriteRule ^index\.(html?|php.+) index.php?url=index.html [L,QSA]
RewriteRule ^htmlarea/(.*) htmlarea/$1 [L,QSA]
#RewriteCond %{REQUEST_URI} !-U
RewriteRule (.*\.html?) index.php?url=/$1 [L,QSA]
</IfModule>

<Files *.tpl.php>
    deny from all
</Files>

<Files *.tpl>
    deny from all
</Files>

<Files *.sql>
    deny from all
</Files>

<Files *.inc.php>
    deny from all
</Files>

<Files *.db>
    deny from all
</Files>

# END s9y

### PHP version select
AddHandler php-7.2 .php
### END PHP version select
Datei ".htacess" in "https://bookhacker.org/test1234/":

Code: Select all

RewriteEngine Off
Dateiberechtigungen der .htaccess: "644"

Datei "index.html" in "https://bookhacker.org/test1234/":

Code: Select all

Hallo Welt!
Dateiberechtigungen "644"
onli
Regular
Posts: 2825
Joined: Tue Sep 09, 2008 10:04 pm
Contact:

Re: Unterverzeichnisse und mod_rewrite

Post by onli »

Oder passiert das wegen dem in dem Serendipity-.htaccess eingetragenen "ErrorDocument"? Ist dieses Verhalten also korrekt?
Dass is tetwas mit dem ich selbst noch nicht viel gespielt habe, aber ich glaube schon dass es genau das ist. Du bekommst da einen 404-Fehler, also geht er zur index.php. Bedeutet also wahrscheinlich, dass er auf die media-wiki-instanz nicht zugreifen konnte.
markus
Regular
Posts: 35
Joined: Mon Jun 26, 2006 10:43 pm

Re: Unterverzeichnisse und mod_rewrite

Post by markus »

Versuch mal, im Unterverzeichnis in der .htaccess noch

Code: Select all

DirectoryIndex index.html

mit dazuzuschreiben. Ich meine mich dunkel(!) zu erinnern, dass mir das in einem ähnlichen Fall mal geholfen hat.
Post Reply