PHP String in htaccess löschen

Dawen

New member
Hallo,

ich habe eine .htaccess Datei in der ständig neue Daten eingefügt werden. Damit diese Datei nicht unnötig groß wird möchte ich alte Redirects löschen.

Ich habe mir nun überlegt:

Statt die Redirects einfach nur am Ende anzufügen, möchte ich gerne etwas in dieser Richtung haben.

Einen Start-String und einen End-String

Code:
##### START REDIRECT #######
#####    END REDIRECT #######
Wie könnte ich nun in dieser .htaccess Datei den Redirect zwischen diesen beiden Strings einfügen ? Mein "kleines" Problem ist, dass ich mehrere hundert User online habe, welche gleichzeitig in diese Datei schreiben und diese sich nicht in die quere kommen sollen (falls dies ein Problem ist)

Wäre zusätzlich noch folgendes möglich:

Ich würde gerne Redirects löschen die z.B. 30 Minuten alt sind. Könnte man irgendwie einen Timestamp an den Redirect anhängen ?
 

Fluffy

Stammuser
Du wirst zwangsläufig probleme mit einem Dirty-Read/-Write bekommen.
Wegen solcher Situationen/Anforderungen wurden Datenbanken entwickelt.
Bei 100+ Usern willst du nicht wirklich eine .htaccess-datei verwenden.
Du solltest in diesem Fall dein Design überdenken.
Wiso müssen diese Redirects überhaupt auf Serverebene geregelt werden?
(Klar WP macht das aber da gibt es nur den Admin der da reinschreibt)
Da wäre eine entsprechende index.php ggf. mit Pathinfo viel einfacher.

Aber um deine Frage definitiv zu beantworten:
Ja du kannst es so machen.
Bau deine eigene Syntax, und parse dann die Datei.
Aber wie gesagt, Nebenläufigkeit ist in diesem Kontext nicht trivial.
Gruß

Fluffy
 
Zuletzt bearbeitet:

Chromatin

Moderator
Mitarbeiter
Du kannst eine eigene "Makrosprache" über die htacess legen.

Als Beispiel hast du diese Rule:

RewriteRule ^downloads.*$ Example Domain [R=301,L]

du hängst hinter jede Rule deine "Makros". Zb so:

RewriteRule ^download1.*$ Example Domain [R=301,L] ##2015-10-16
RewriteRule ^download2.*$ Example Domain [R=301,L] ##2015-10-12
..

usw.

So kannste jede Rule mit einem Timestamp versehen und ueber ein skript ausfiltern.

Hast du mehrere Rules, die einen User betreffen, kannst Du noch eine ID mit dazupacken:

RewriteRule ^download1.*$ Example Domain [R=301,L] ##ID1;2015-10-16
RewriteRule ^download2.*$ Example Domain [R=301,L] ##ID1;2015-10-12
RewriteRule ^download3.*$ Example Domain [R=301,L] ##ID2;2015-10-20
..


Wie könnte ich nun in dieser .htaccess Datei den Redirect zwischen diesen beiden Strings einfügen ? Mein "kleines" Problem ist, dass ich mehrere hundert User online habe, welche gleichzeitig in diese Datei schreiben und diese sich nicht in die quere kommen sollen (falls dies ein Problem ist)
Du brauchst ohnehin eine temporäre Datei, denn du willst ganz sicher nicht einen Webserverprozess die htaccess beschreiben lassen koennen ^^
 
Oben