2016-08-16 1 views
0

Diese Frage kann dupliziert werden, aber ich suche viel und kann keine Antwort finden. Also benutze ich htaccess file zum Rewrite und ich möchte dieselbe Seite mit URLs anzeigen: http://localhost/assoc/about und http://localhost/assoc/about/.Rewrite Rule aktivieren Training Schrägstrich und kein Schrägstrich

Ich rufe Seiteninhalte mit "include_once" auf und Seiten befinden sich im Verzeichnis/www/assoc/astc /. Wenn ich zum Beispiel http://localhost/assoc/about einband funktioniert es aber mit dem Trainingsslash, es umleitet 404 Seite.

Hier ist meine Htaccess. Vielen Dank.

Options +FollowSymlinks 
RewriteEngine On 

RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png)$ [NC] 

RewriteRule ([a-z]+)$ astc/accueil.php?page=$1 [L] 

RewriteRule ^/(.*)$ astc/accueil.php?page=$1 [R=301,L] 

RewriteRule ([a-z]+)/([A-Za-z0-9_]+)$ astc/accueil.php?page=$1&id=$2 [L] 

RewriteRule ^/(.*)$ astc/accueil.php?page=$1&id=$2 [R=301,L] 

ErrorDocument 404 http://localhost/assoc/page-non-trouvee 
+0

Wird diese .htaccess im '/ www/assoc/astc /' Verzeichnis abgelegt? – anubhava

+0

Ihre '.htaccess' Datei ist sehr schlecht gebildet und macht überhaupt keinen Sinn. Führende Schrägstriche werden in '.htaccess' nicht unterstützt, und die Bedingung oben wird nur für die erste Regel und nichts danach gelten. Außerdem hat die letzte Regel nur einen Parameter '(. *)', Versucht aber, Daten für zwei zu erhalten ('$ 1' und' $ 2'). Ich empfehle dringend, dass Sie die Dokumentation und die verschiedenen verfügbaren Handbücher durchlesen, sonst werden Sie weiterhin Probleme haben, ohne zu lernen, wie die Dinge wirklich funktionieren. –

+0

Ich werde die Dokumentation so lesen. Vielen Dank. – arshie92

Antwort

0

Sofern Sie nicht bereits haben, versuchen Sie die folgende Zeile in die .htaccess Zugabe

DirectorySlash On 
+0

Ich füge es hinzu. Aber es funktioniert immer noch nicht. – arshie92

+0

Ich neige dazu, ein virginales htacces zu benutzen, um einen bestimmten Gegenstand zu prüfen. Sie haben viel Redir-Zeug, das dort sitzt, was sich irgendwann störend auswirken kann. Wenn es deinen Host nicht kaputt macht, probiere die Slash-Sache zuerst mit einem sauberen htaccess, dann füge ein Item ein Mal hinzu, um sicherzustellen, dass du weißt, wo es fehlerhaft ist. Viel Glück beim Tweaken. –

+0

Ich finde weiterhin einen Weg. Vielen Dank. – arshie92

1

Es gibt wenige Probleme. Diese Linie

RewriteRule ^/(.*)$ astc/accueil.php?page=$1 [R=301,L] 

leitet alle Anfragen in astc/accueil.php?page=

ich auch vorschlagen remap instead of redirect your requests

Diese ^/(.*)$ regex alle Anfragen fängt so dass es unmöglich ist, für die übrigen Rewrite-Regeln ausgewertet.

Try adding rewrite log to debug your regex

+0

Ich werde das überprüfen und versuchen, das Problem zu lösen. Ich habe nicht genug Dokumentation über das Neuschreiben gelesen, also habe ich eine Menge Dinge verpasst. Ich werde es zurückgeben. Vielen Dank. – arshie92

0

So endlich mit diesem Inhalt es funktioniert:

Options +FollowSymlinks 
RewriteEngine On 

RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png)$ [NC] 

RewriteRule ([a-z]+)(/?)$ astc/accueil.php?page=$1 [L] 

RewriteRule ([a-z]+)/([A-Za-z0-9_]+)(/?)$ astc/accueil.php?page=$1&id=$2 [L] 

ErrorDocument 404 http://localhost/assoc/page-non-trouvee 

Dank Ihnen allen.

Verwandte Themen