2010-12-09 2 views
0

Vielleicht nur eine heikle Frage,Apache Rewriting verstecken Erweiterungen

Aber für meine Website, ich verwenden, um Dateien Erweiterungen in url verstecken diese Zeile in meinem .htaccess mit:

RewriteEngine On 
RewriteRule ^(.+)/$ $1.php [L] 

Es funktionierte perfekt auf meine mutualisierten Server, aber nicht in lokalen mit MAMP. Aber es war keine große Sache.

Aber jetzt habe ich einen dedizierten Server gewählt, und ich habe das eigentliche Problem, nicht daran zu arbeiten. Es ist seltsam, weil andere Regeln zum Umschreiben wie:

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_]+)$ place.php?place=$1 [L] 
RewriteRule ^([a-zA-Z0-9_]+)/$ place.php?place=$1 [L] 

sind perfekt funktioniert !!

Gibt es eine bestimmte Konfiguration, die in einer Apache-Datei vorgenommen werden muss, damit dieses Ding funktioniert?

Thanx viel für Ihre Zeit

Guillaume

EDIT: Mehr meiner .htaccess:

RewriteEngine On 

RewriteRule ^(.+)/$ index.php?$1 [L] 

RewriteRule ^fullscreen-([a-zA-Z0-9_]+)$ place.php?place=$1 [L] 
RewriteRule ^fullscreen-([a-zA-Z0-9_]+)/$ place.php?place=$1 [L] 
RewriteRule ^fullscreen-([a-zA-Z0-9_]+)-([a-zA-Z0-9_]+)$ fullscreen.php?place=$1&event=$2 [L] 
RewriteRule ^fullscreen-([a-zA-Z0-9_]+)-([a-zA-Z0-9_]+)/$ fullscreen.php?place=$1&event=$2 [L] 
RewriteRule ^fullscreen-([a-zA-Z0-9_]+)-([a-zA-Z0-9_]+)-([a-zA-Z0-9_]+)$ fullscreen.php?place=$1&event=$2&sort=$3 [L] 
RewriteRule ^fullscreen-([a-zA-Z0-9_]+)-([a-zA-Z0-9_]+)-([a-zA-Z0-9_]+)/$ fullscreen.php?place=$1&event=$2&sort=$3 [L] 

Antwort

0

benötigt, die:

Options +FollowSymlinks 
Options +MultiViews 
0

Prüfung für die mod_rewrite wenn es mit PHP ist aktivieren von

tun
echo phpinfo(); 

so müssen Sieaktivierenin httpd.conf Datei

  1. die Datei httpd.conf finden (in der Regel werden Sie es in einem Ordner namens conf config oder etwas in diese Richtung finden), wenn Sie LAMP-Plattform-Datei finden Sie hier haben/etc/httpd/conf/httpd.conf
  2. Innerhalb der Datei httpd.conf uncomment der Linie LoadModule- rewrite_module modules/mod_rewrite.so (entfernen Sie das Pfund '#' Zeichen von in vor der Linie)
  3. auch finde die Zeile ClearModuleList ist unkommentiert dann finden und stellen Sie sicher, dass die Zeile AddModule mod_rewrite.c ist nicht auskommentiert.

http://www.tutorio.com/tutorial/enable-mod-rewrite-on-apache

+0

Ich habe keine mod_rewrite Linie in meinem phpinfo hat. Das einzige "rewrite" Ereignis, das ich habe, ist url_rewriter.tags – guillaumepotier

+0

Haben Sie LAMP-Plattform auf dediziertem Server? –

+0

Es ist ein Gentoo distrib mit Apache PHP mysql und alle. Normalerweise :) – guillaumepotier

0

aktiviert überwiegende (AllowOverride All) in httpd.conf

+0

Bereits getan :( – guillaumepotier

+0

soweit ich weiß mod_rewrite ist standardmäßig aktiviert, so dass, wenn Ihre htaccess-Dateien überhaupt nicht funktionieren, ist AllowOverride , q: hast du apache nach dem aktivieren der override-option neugestartet? – everplays

+0

Ja, ich habe es jedesmal gemacht, wenn smt in meiner config geändert wird. Es scheint auch, dass mod_rewrite aktiviert ist, weil ich etwas wie/friendly_url in mypage.php? var umschreiben kann = friendly_url Ich habe gerade das Problem mit index -> index.php :( – guillaumepotier