htaccess - (keine Umleitung) [REWRITEURL] (Ordner zum index.php)
Frage
Ich will einfach nur, um eine schnelle htaccess-Umleitung.ie:
domain.com/subfolderGreen --> domain.com/index.php?folder=subfolderGreen
(beachten Sie, dass die subfolderGreen tatsächlich existiert)
Ich habe versucht, aber nicht bekommen konnte, um die regex benötigt.
vielen Dank.ein.
HINZUGEFÜGT:
Sorry, ich will dies funktioniert für alle Unterordner, nicht nur "subfolderGreen" Ich bin mit
RewriteRule ^/([^/]+)/?$ /index.php?folder=$1 [L]
aber es funktioniert nicht.irgendwelche Hinweise?
Lösung
Ich würde denken, Ihr Beispiel würde dazu führen, eine Endlosschleife, da /index.php Spiele, was Sie tun.Versuchen Sie dies:
RewriteRule ^([A-Za-z0-9]+)/?$ /index.php?folder=$1 [L]
Wenn Sie wollen, dass es funktioniert für alle Verzeichnisse vorhanden sind, wird dies wohl so gut funktionieren.
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)/?$ /index.php?folder=$1 [L]
Andere Tipps
RewriteRule ([^/]+)$ index.php?folder=$1
Ich denke, das wird den trick tun.
RewriteRule hat einige verwirrende Aspekte, wenn verwendet .htaccess erfordert die Zugabe von ein RewriteBase.
Welche Fehler/Probleme sehen Sie?Wenn Sie sicher sein möchten, wie es umleiten hinzufügen von eine [R] kann oft helfen mit die Fehlersuche.
Endlich...funktioniert die subfolderGreen wirklich existieren oder nicht?Wenn es vorhanden ist, könnten einige Probleme verursachen.
Ich glaube, es ist:
RedirectMatch 301 domain.com/(.*) domain.com/index.php?folder=$1
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /(([^/\ ]+/)*)/+([^\ ]*)
RewriteRule ^ /%1%3 [L,R=301]
RewriteRule ^([^/]+)/?$ index.php?folder=$1 [L]
Line #2 behandelt den Fall, wenn jemand geht website.com/mypage///// so ist es standardmäßig website.com/mypage/ statt (glaube ich)