2016-05-28 2 views
0

Ich habe buchstäblich überall gesucht, um zu versuchen und Apache Regeln zu verstehen und besser zu schreiben. Was ich zu erreichen versuche, ist ziemlich einfach. Ich möchte meine index.php im root lassen, und für jede weitere Seite/Ansicht möchte ich sie in einem View-Verzeichnis behalten und alle Views werden immer ohne die Erweiterung .php angezeigt. Die zweite Sache, die ich erreichen möchte, ist, dass ich alle meine anderen Seiten in einem Ansichtsordner behalten möchte und vielleicht sogar Ordner darin habe, um die Ansichten organisiert zu halten, aber die URL ohne/view wie: etwas anzeigen .com/über somthing.com/views/about NICHTWie schreibe ich custome Apache Regeln für URLs aus einem Ordner anzeigen und entfernen Sie die .PHP

Schließlich Wenn ich Ordner innerhalb der Ansicht platzieren, möchte ich entscheiden, welche wie anzeigt: something.com/about & & somthing.com/blog/winners

Dies ist so nah wie ich bekommen habe:

<IfModule mod_rewrite.c> 

RewriteEngine On 

# Url renaming 
RewriteRule ^contact$ contact.php [L] 

</IfModule> 

Vielen Dank im Voraus!

Antwort

1

Ersetzen Sie Ihre bestehende Regel mit dieser Regel:

<IfModule mod_rewrite.c> 

RewriteEngine On 

RewriteCond %{DOCUMENT_ROOT}/view/$1\.php -f 
RewriteRule ^(.+?)/?$ view/$1.php [L] 

</IfModule> 
+0

anubhava Danke, aber leider hat es nicht funktioniert. Aus welchem ​​Grund auch immer Apache wird nicht lesen oder finden Sie die Ansichten, die ich in Ansichten-Verzeichnis habe. Gestern hatte ich es dabei:^case-studies $ views/case-studies.php [L] Wie auch immer, es sei denn, ich platziere alle Views in meinem Root-Verzeichnis und es wird nicht angezeigt. Irgendwelche Ideen? – VickenCode

+0

Ich tat, t funktioniert nicht, ich frage mich, ob es eine Art von Apache-Cache gibt, die deaktiviert werden muss? Ich benutze Mamp, irgendwelche anderen Gedanken? – VickenCode

+0

Ich habe es auch auf MAMP getestet. Sie müssen Informationen zu Ihrer Einrichtung bereitstellen. Beantworte alle Fragen. Q1. Welche URL geben Sie in Ihren Browser ein? Q2. Ist das der einzige .htaccess oder hast du einen anderen? Q3. Ist dies der einzige Code in diesem .htaccess? Wenn Sie einen anderen Code haben, dann stellen Sie ihn bitte in Frage? Q4. Wo befindet sich .htaccess? Q5. Hast du sichergestellt, dass 'mod_rewrite' und' .htaccess' aktiviert sind? – anubhava