[TYPO3-german] Typo 4.3 alfa2

Peter Russ peter.russ at 4many.net
Wed May 13 18:04:27 CEST 2009


--- Original Nachricht ---
Absender:   Michael Stucki
Datum:       13.05.2009 15:20:
> Hallo Peter und Joey,
> 
[...]

> 
> Ich bitte euch, wenn ihr die Diskussion wirklich nochmal hochleben 
> lassen wollt, tut das in der 4.3 Mailingliste nachdem ihr den bisherigen 
> Verlauf dort gelesen habt.
> 
> Auch sehr willkommen: Ideen um das Problem zu erkennen.
> 
> Liebe Grüsse
> - michael


m.E. sollte das nicht so schwer sein:
mit der Direktive AllowOverride werden ganze Gruppen ab oder 
angeschaltet. Um zu testen, was auf eine Server geht oder nicht bedarf 
es unterschiedlicher Verzeichnisse mit speziellen .htaccess, die jeweils 
eine entsprechende Gruppe zu schalten versuchen. Wenn dies nicht möglich 
ist, kommt es zu einem Fehler. Wird auf diese Gruppe indirekt 
zugegriffen, kann der Fehler abgefangen werden:

Beispiel:
.htaccess:
<FilesMatch "\.(gif|png|jpg)$">
	<IfModule mod_expires.c>
		ExpiresActive on
		ExpiresDefault "access plus 7 days"
	</IfModule>
	FileETag MTime Size
</FilesMatch>

RewriteEngine On
RewriteRule ^test1.php$ test2.php

VHost:
         <Directory />
                 AllowOverride None
         </Directory>
         <Directory /srv/u/uon/htdocs/test/rewrite/off>
                 AllowOverride Limit
         </Directory>
         <Directory /srv/u/uon/htdocs/test/rewrite/on>
                 AllowOverride All
         </Directory>

index.php:
<?php
$path='disabled/';
if ($_GET && ($_GET['on'] || $_GET['off']))
{
	$path=$_GET['on']?'on/':'off';
}
$url=parse_url($_SERVER['REQUEST_URI']);
$url['domain']    = $_SERVER['SERVER_NAME'];
$server_prt        = explode( '/', $_SERVER['SERVER_PROTOCOL'] );
$url['scheme']    = strtolower( $server_prt[0] );

$fp=@fopen($url['scheme'].'://'.$url['domain'].$url['path'].$path.'test1.php','r');
if ($fp)
{
	while (!feof($fp))
	{
		$line=fgets($fp,10240);
		echo $line;
	}
} else {
	echo 'error';
}
?>

Da kein Parameter angeben wird http://www.uon.li/test/rewrite/ liefert 
dies den Inhalt von disabled/test1.php aus. Rewrite wird nicht 
ausgeführt (Inhalt von test1.php ist 1) auch die Filematch direktive 
liefert keinen Fehler.

Mit Parameter http://www.uon.li/test/rewrite/?on=1 wird Inhalt von 
on/test1.php ausgeliefert. Da in diesem Verzeichnis Rewrite aktiv ist 
wird das Ergebnis von test2.php also 2 zurück geliefert.

Der Zugriff auf off/test1.php liefert einen Server Fehler, da keine der 
verwendeten Direktiven erlaubt ist. Wird indirekt auf die Datei 
zugegriffen http://www.uon.li/test/rewrite/?off=1 wird der Fehler 
abgefangen.

M.E. lässt sich so mit geringen Aufwand feststellen, was auf dem Server 
geht und was nicht.

Interesse, dass ich das weiter ausbaue?

Gruss. Peter.


-- 
Fiat lux! Docendo discimus.
_____________________________
uon GbR

http://www.uon.li
http://www.xing.com/profile/Peter_Russ


More information about the TYPO3-german mailing list