Hallo Leute. Ich fing an, meinen eigenen "URL shortener" zu programmieren. Die Grundidee ist, dass Sie example.com/12345 verwenden, um auf eine andere URL umzuleiten. Dieses "Matching" erfolgt durch Verwendung von .htaccess, um Dinge in Richtung eines Skripts umzuleiten, das (für uns jetzt irrelevant) Dinge tut.Ist es möglich, die ursprüngliche URL nach einer 302 .htaccess RedirectMatch zu erhalten?
Meine .htaccess sieht derzeit wie folgt aus:
RedirectMatch 302 ^/\w{5}$ /redir.php
Die Umleitung entspricht einer beliebigen Zeichenkette mit genau 5 und sendet sie zu meinem PHP-Skript, wo die eigentliche Umleitung auf die erweiterte URL stattfinden. Das einzige Problem ist, dass ich keine passende Methode gefunden habe, die ursprüngliche URL, die passende URL, in eine Variable zu bekommen.
Als Nebenbemerkung das Ganze auf einem VPS von mir mit minimalen Kenntnissen eingerichtet geschieht, so dass, wenn dieses Problem von einem fehlenden config ($ _SERVER [ ‚HTTP_REFERER‘] nicht funktioniert) stammt, dann erwarten Meine Konfigurationen sind nicht 100% korrekt und nach Standards.
EDIT: von RedirectMatch zu RewriteRule geändert, funktioniert immer noch nicht.
RewriteRule ^\w{5}$ /redir.php [R,L]
Stattdessen anstelle eines int so etwas wie Base62 verwenden und dekodieren sie in etwas bearbeitbar wie eine Datenbank-ID. Diese Bibliothek wird alles tun. http://hashids.org/ –
Außerdem ist die Entropie in 10000 bis 99999 nicht viel. Und Zahlen sind einfach zu durchqueren. –
Oh und um die Frage zu beantworten, verwenden Sie '$ _SERVER ['REQUEST_URI']':/ –