2016-08-09 26 views
0

Dies funktioniert nicht,RewriteRule auf regulären Ausdruck, .htaccess

RewriteEngine On 
RewriteBase/
RewriteRule ^res/ - [L] 
RewriteRule ^.*$ /server/entry.php?PAGENAME=$1 [QSA,L] 
ErrorDocument 403 /notfound 
ErrorDocument 404 /notfound 

ich glaube, der letzte Code nicht funktioniert, ich habe versucht,^zu ändern. * -> (. *), Aber das Ergebnis war das gleich.

Ich könnte falsch liegen, aber diese letzte Zeile ist die mit falscher Aussage, aber ich weiß nicht mehr, was ich damit machen soll. Ich habe alles versucht, was ich konnte.

Ich habe schon seit 2 Tagen damit zu kämpfen ... Ich habe online recherchiert und andere Codes versucht, aber auch nicht funktioniert.

+1

Ja, die letzte Regel muss eine Erfassungsgruppe sein. Bitte erläutern Sie, was Sie zu tun versuchen. Sie geben nur den Code an, aber nicht das, was Sie erwarten. Hast du auch mod_rewrite aktiviert? –

+0

Hallo vielen Dank für den Kommentar! Ich fand es schließlich heraus, RewriteRule ^. * $ Server/entry.php? PAGENAME = $ 0 [QSA, L] -

+0

Scheint, dass ich nicht setzen sollte/vor dem Server könnte es eine Einstellung des Servers sein. Ich habe ein paar Tage gebraucht, um das herauszufinden. –

Antwort

0

Das hat nicht funktioniert,

RewriteRule ^.*$ /server/entry.php?PAGENAME=$1 [QSA,L] 

Das funktionierte,

RewriteRule ^.*$ server/entry.php?PAGENAME=$0 [QSA,L] 

die Einstellung des Servers Wahrscheinlich, aber ich sollte nicht den absoluten Pfad verwenden.

+0

Eigentlich können Sie das verwenden, aber die richtige Regel ist 'RewriteRule^(. *) $ Server/entry.php? PAGENAME = $ 1 [QSA, L]' Ich will nur nicht, dass andere, die diese Antwort sehen, denken, dass das ist richtiger Weg, es zu tun. Weil '$ 0 Zugriff auf die gesamte Zeichenkette bietet, die mit diesem Muster übereinstimmt. Das ist im Allgemeinen nicht das, was Leute brauchen. –

+0

Hallo, Panama vielen Dank für den Kommentar. Ich würde gerne den richtigen Weg wissen, wird testen. –