2016-04-10 28 views
2

Ich versuche, die URL mit. Htaccess neu schreiben. Ich habe einige Lösungen versucht, um die gewünschte URL zu erreichen, aber nicht in der Lage, herauszufinden. Kann mir bitte jemand helfen.Url Umleitung Problem mit. Htaccess und PHP

Original-URL

http://localhost/view_retailer.php?id=<storename>

url Rewritten mit .htaccess

http://localhost/view_retailer?id=<storename>

Wunsch url

http://localhost/store/<storename>

Antwort

0

Sie kann diese 2 Regeln in Ihrem root verwenden .htaccess:

RewriteEngine On 

# external redirect from actual URL to pretty one 
RewriteCond %{THE_REQUEST} /view_retailer(?:\.php)?\?id=([^\s&]+) [NC] 
RewriteRule^/store/%1? [R=302,L,NE] 

# internal forward from pretty URL to actual one 
RewriteRule ^store/([^/]+)/?$ view_retailer.php?id=$1 [L,QSA,NC] 
+0

Dank Anubhava. Die Weiterleitung scheint zu funktionieren, aber ich bekomme eine 404-Seite. Ich habe versucht, alles von .htaccess zu entfernen und die ursprüngliche URL funktioniert gut. 'http: //localhost/view_retailer.php? id = '. Sobald ich die Umleitung in .htaccess gesetzt habe, funktioniert die URL gut als "http: // localhost/store/", aber es gibt mir eine 404-Fehlerseite. Die Registerkarte "Netzwerk" in Chrome zeigt korrekt an, dass versucht wird, zur URL 'http: //localhost/view_retailer.php? id = ' umzuleiten, aber einen Fehler 404 zu erhalten. – Rajiv

+0

Gleiches Problem. Kein Glück – Rajiv

+0

Voll .htaccess 'Optionen -Indexes Errordocument 404 /404.php Errordocument 403/ um leugnen, erlauben von allen RewriteCond% leugnen { THE_REQUEST} /view_retailer(?:\.php)?\?id=([^\s&]+) [NC] RewriteRule ^/store /% 1? [R = 302, L, NE] RewriteEngine On RewriteRule^(admin) ($ | /) - [L] # intern sich darauf, von ziemlich URL tatsächlich ein RewriteRule^store/([\ w-] +) /? $ view_retailer.php? id = $ 1 [L, QSA, NC] '. Beide Dateien befinden sich im www Ordner. – Rajiv