Forum
Tipps
News
Menu-Icon

mod_rewrite Apache + PHP

Hey,

ich habe eine Frage bezüglich zu mod_rewrite unter Apache im Bezug auf URL- Manipulation in PHP.

Ich programmiere ab und zu PHP auf meiner IDE Zuhause:

PHP 5.3
MySQL 5
Apache 2.2

Hab es zurzeit halt so, dass wenn ich auf Links klicke, einzelne kleine PHP- Dateien mit Inhalt auf die Hauptseite (index.php ) über einen GET- Parameter eingebunden werden.

Das sieht dann halt so aus:

index.php?page=gaestebuch

index.php?page=impressum


usw.


Ich habe schonmal nach Anleitungen zu mod_rewrite in Beziehung mit PHP gegoogelt... Das meiste davon war entweder unvollständig oder einfach zu hoch für mich.

Hab dann auch mal einen Rewrite Generator probiert, um es eventuell mit diesem zu verstehen... er machte mir aus:



Zitat
http://test/index.php?page=welcome

http://test/welcome.php

 

-------------

Der Code dazu für die htaccess File:

 
Zitat
RewriteEngine On
RewriteRule ^([^/]*)\.php$ /index.php?page=$1 [L]


Habs dann probiert bei mir in die htaccess File einzufügen, zeigt aber keine Veränderung. mod_rewrite ist aktiv.

Meine Apache Vhostsdatei sieht so aus:

 
Zitat

<VirtualHost x.x.x.x:80>
ServerName   test.xxxxxerver.dev
DocumentRoot "C:\xxxxx.dev\public_html\pma"
ErrorLog "logs/test.xxxxer.dev-error.log"
CustomLog "logs/test.xxxxer.dev-access.log" common
<Directory "C:\xxxxx.dev\public_html\pma">
AllowOverride All
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


Kennt sich hier jemand aus mit mod_rewrite?


Danke schonmal

 

Antworten zu mod_rewrite Apache + PHP:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Wo in Deiner htaccess wird mod_rewrite "angesprochen"??

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hey,

wenn ich in die htaccess Datei folgendes schreib,ändert sich nichts...

 

Zitat
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)\.php$ index.php?page=$1 [L]
</IfModule>


   

Die URL bleibt einfach so mit dem GET- Parameter stehen.


greeZ
« Letzte Änderung: 01.11.11, 22:18:12 von Benni17 »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

probier mal

Zitat
RewriteEngine on
RewriteRule ^([A-Za-z0-9_]+).html$ index.php?page=$1 [NC]
ohne garantie. aber ruf dann mal bitte nicht welcome.php auf sondern ind em fall welcome.html.

@pwt man muss "mod_rewrite" nicht so klartext mässig ansprechen. wird eigentlich nur im apache aktiviert(aen2mod?)  und um den rest kümmert sich die htaccess. (soweit alles konfiguriert)

ich seh das problem eher darin, dass alle php dateien auf ne php datei umgeleitet werden sollen, das gibt dann log. ne dauerschleife die so nicht funktionieren kann.

@TO
mein posting hilft dir nicht, falls ich recht habe kannst lediglich einen fehler finden/ausschließen. die regex peil ich selber nicht mehr... hab das vielleicht mal 30 mins in meinem leben verstanden als ichs unbedingt brauchte. war auch riesenstolz auf mich^^ danach konnte ich nie wieder eine wirklcihe anwendung dafür finden und der "aaaah, jetzt hab ichs kapiert" effekt ist leider verpufft und jetzt ists wieder zu lange her^^

falls meinbeispiel nicht funktioniert, guck wirklcih noch mal ob mod_rewrite korrekt aktiviert worden ist.  wie das genau unter windows läuft kann ich dir aber leider auch nicht sagen. unter linux ist das recht .....ensicher.

« Homepage bearbeiten , nicht per CRMMysql: nur unterschiedliche Spaltenwerte auslesen »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
PHP
PHP steht für Personal Home Page und ist eine Skriptsprache die meist verwendet wird zur dynamischen Erzeugen von Internetseiten. PHP zeichnet sich durch die weite D...

E IDE
Erweiterung des IDE Standards. Siehe auch IDE Standards...

IDE
IDE (Integrated Drive Electronics) ist eine Schnittstelle für Massenspeichergeräte, die in den 1980er Jahren eingeführt und bis in die 2000er Jahre hinein ...