.htaccess Regeln für unbekannte Unterordner neu schreiben

Dec 18 2020

Ich stehe vor folgendem Problem:

Meine Ordnerstruktur auf dem Server lautet: public_html / projects /

Baumansicht: Ordner structrure Baumansicht

Im Ordner public_html befindet sich eine .htaccess- Datei.

Innerhalb der Projekte Ordner meine Partner numerus Ordner mit einem Zielseite im Inneren schaffen wird (sagen wir einfach eine Datei index.php)

Die Umschreiberegeln, die ich anzuwenden versuche, sind eine Sprache und ein Währungs- URL-Parameter.


Also zum Beispiel diese URL: https://www.example.com/projects/whatever-project-name/index.php?lang=en¤cy=eur

muss übersetzt werden in: https://www.example.com/projects/whatever-project-name/en/eur/

Die Währungsvariable ist ebenfalls optional. (Die Sprachvariable ist eine obligatorische Variable.)

Die URLs können also auch so aussehen: https://www.example.com/projects/whatever-project-name/en/


Ich suche und versuche (und weine) jetzt ein paar Tage, um dieses Problem zu lösen. Die einzige Lösung, die meiner nahe kommt, ist folgende: RewriteRule für unbekanntes Verzeichnis

aber ich habe es nicht geschafft, dass es funktioniert.

Was ich bis jetzt habe (aber es funktioniert nicht richtig) ist:

RewriteEngine On
RewriteRule ^(.*/)?/([a-zA-Z0-9]{2,3})/([a-zA-Z0-9-]+)/?$ projects/$1index.php?lang=$2&currency=$3
RewriteRule ^(.*/)?/([a-zA-Z0-9]{2,3})/?$ projects/$1index.php?lang=$2[L]

Antworten

2 RavinderSingh13 Dec 18 2020 at 01:13

Könnten Sie bitte anhand der gezeigten Beispiele Folgendes versuchen? Stellen Sie sicher, dass Sie den Browser-Cache leeren, bevor Sie Ihre URLs testen.

RewriteEngine ON
##With currency variable in URI.
RewriteCond %{REQUEST_URI} ^/projects/([\w-]+)/en/([\w-]+)/?$ [NC] RewriteRule ^(.*)$ projects/%1/index.php?lang=en&currency=%2 [L]

##Without currency variable in URI.
RewriteCond %{REQUEST_URI} ^/projects/([\w-]+)/en/?$ [NC] RewriteRule ^(.*)$ projects/%1/index.php?lang=en [L]