2012-03-28 6 views
0

Ich habe eine einfache RewriteRule darunter, die auf meinem lokalen Rechner funktioniert, aber es funktioniert nicht, wenn ich auf meinen Live-Server hochgeladen habe.mod-rewrite funktioniert nicht auf Live-Server

Fehler:

Not Found The requested URL /redirect:/jobs.php/1/field-engineer.php/1/field-engineer.php was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

.htaccess:

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^(.*)\.htm $1.php [NC] 
RewriteRule jobs/([0-9]+)/(.*)/ jobs.php?id=$1 [NC] 
RewriteRule testimonial-details/([0-9]+)/(.*)/ testimonial-details.php?id=$1 [NC] 
RewriteRule testimonials/([0-9]+)/(.*)/ testimonials.php?id=$1 [NC] 

Jede Hilfe wird gerne geschätzt.

Antwort

-1

Haben Sie überprüft, ob Ihr Rewrite-Modul geladen wurde? Btw sollten Sie es in Ihre .htaccess überprüfen:

<IfModule mod_rewrite.c> 
// your rewrite stuff here 
</IfModule> 

Edit:

Vielleicht helfen könnte. Versuchen Sie, den PT-Flag auf Ihre erste Rewrite-Regel zu setzen

RewriteRule ^(.*)\.htm $1.php [NC,PT]

Das wird der Motor sagen, um einen sauberen zweiten Weg auf der generierten URL zu machen. Weil es nach deiner Regel ein merkwürdiges Verhalten gibt.

Die URL

jobs/1/civil-engineer.html als jobs/1/civil-engineer.php neu geschrieben wird

aber die folgende Regel

jobs/([0-9]+)/(.*)/ für eine URL wartet wie jobs/1/civil-engineer.php/

ich einige Tests tat, aber das Entfernen der '/' nur bestimmte Fehler vermieden, aber das Verhalten war immer noch seltsam. Der einzige Weg, ich fand, war die PT-Flag hinzuzufügen, oder die Regel zu ändern für

RewriteRule jobs/([0-9]+)/(.*)\?php jobs.php?id=$1

+0

ja, es ist auf Live-Server zu arbeiten. auch die letzten RewriteRues funktioniert ... RewriteRule Zeugnisse/([0-9] +)/(. *)/testimonials.php? id = $ 1 [NC] ... aber die anderen beiden nicht. Danke – xmox

+0

Was ist der Link, der wurde umgeschrieben als '/ redirect:/jobs.php/1/field-engineer.php/1/field-engineer.php' – grifos

+0

localhost/jobs/1/zivilingenieur.html und der Code -> $ jobs_url = WEBSITE_URL. 'Arbeitsplätze/' . $ row-> job_id. "/". $ helper-> format_url_keyword ($ row-> position). '.html'; – xmox

Verwandte Themen