2017-04-11 1 views
0

Ich habe die folgende Regel:Wie vermeiden? in der .htaccess-Datei

RewriteRule ^some_text/([^/]+)/([^/]+)/ name_folder/a=?&b=?& 

Wenn ich will mehr Parameter nach dem dritten Schrägstrich hinzufügen ich die Parameter hinzuzufügen ? will sonst nicht berücksichtigen. Genau wie http://some_domain/some_text/a/b/?c=123&d=123 und es funktioniert nicht, wenn ich so http://some_domain/some_text/a/b/c=123&d=123 die c und d Parameter nicht arbeiten.

+0

Bitte präzisieren Sie in Ihrer Frage, was Sie eigentlich tun möchten. Etwas wie "http: // beispiel.com/some_text/a/b/c = 123 & d = 123" ist als URL ungültig, "http: //example.com/some_text/a/b/? C = 123 & d = 123" ist gültig. Die Frage ist also, warum es für dich "nicht funktioniert". Was meinst du eigentlich mit "funktioniert nicht"? – arkascha

+0

http://example.com/some_text/a/b/c=123&d=123 Gibt es eine Möglichkeit, dies zum Funktionieren zu bringen? Danke für die Antwort –

+0

Wieder: Das hängt davon ab, was Sie mit "Arbeit" meinen und was diese URL eigentlich zum Ausdruck bringen soll. – arkascha

Antwort

0

Es ist noch unklar, was man eigentlich genau erreichen wollen, bleibt Ihre Frage vage trotz meiner Bemühungen in den Kommentaren etwas spezielleren, von Ihnen zu bekommen ...

Allerdings konnte ich dies vorstellen, ist das, was Sie könnte suchen:

RewriteEngine on 
RewriteRule ^/?some_text/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ /folder/index.php?a=$1&b=$2&c=$3&d=$4 [L] 

Dies wird intern neu schreiben

http://example.com/some_text/a/b/123/123

auf die interne Ressource

http://example.com/folder/index.php?a=a&b=b&c=123&d=123

So Ihre "clean suchen" URLs dieser Regelung folgen würde:

http://example.com/some_text/ $ a/$ b/$ c/$ d

Es gibt andere Optionen, dies ist nur ein Vorschlag. Es ist einfach und robust, benötigt aber immer genau 4 Argumente. Nehmen Sie es als Anregung und arbeiten Sie von dort aus, um eine Lösung für Ihre spezifische Situation zu finden, die uns noch unklar ist.

Verwandte Themen