2016-04-27 17 views
1

ich folgendes Problem bin vor:.htaccess - Redirect alle .html die ID erfassen

Ich habe eine Website, in dem die URLS zur Zeit wie folgt aussehen:

/manufacturer/product/[ID].html 

Ich habe die Website neu entwickelt (Mit Laravel) und es jetzt gerade ist:

/product/[ID] 

ich frage mich, ob es möglich ist, eine .htaccess-Datei zu verwenden, um all diese Links zu umleiten zurück auf den neuen Link? Im Wesentlichen müsste ich also nur die [ID] von dem alten Link erfassen und sie auf den neuen Link umleiten.

EDIT:

Also der Link so etwas wie folgt aussehen:

mysite.com/parts/apple/A-6-H0.htm 

ODER

mysite.com/microsoft/A-1-5F.htm 

So beide Apple, Microsoft und A- kann je nachdem, was Hersteller ändern und was die Produkt ist das macht Sinn?

+0

Ist Ihr .htaccess innen/Herstellung Ordner? – starkeen

+0

@starkeen Nein, dies ist ein Laravel-Projekt. Die .htaccess-Datei ist innerhalb/public. – Phorce

+0

Und wohin sollte mysite.com/parts/apple/A-6-H0.htm? – hjpotter92

Antwort

2
RewriteEngine On 
RewriteRule ^parts/(?:[^/]+/)?(.*)\.html?$ /parts/$1/ [R=301,L] 

Das sollte sich darum kümmern.

+0

Es funktioniert nicht, da ein '/ Hersteller 'in der Art ist. Ich muss das ignorieren. Zur Zeit wird es umgeleitet von:'/Hersteller/Produkt/[ID] .htm' zu: '/ Hersteller/Produkt/[ID] 'so funktioniert es – Phorce

+0

@Phorce Wenn der" Hersteller "immer vorhanden ist (gefolgt von Produkt), soll der obige Code Sie zu'/Produkt/ID'-Seite umleiten, und entfernt den Hersteller auch! =) – hjpotter92

+0

Tut mir leid. Der Link wäre: /manufacturer/product/[ID].htm - aber der Hersteller könnte ALLES sein so wie Apple, Microsoft, also möchte ich das komplett entfernen .. – Phorce

1

Bitte Versuchen Sie folgendes:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^{domain name}[nc] 
RewriteRule ^(.*)$ {domain name}/$1 [r=301,nc] 
Redirect 301 /manufacturer/product/$1.html product/$1.html 
+0

Dies gibt einen "Internal Server Fehler" – Phorce

+0

Mod-Rewrite funktioniert nicht mit Mod-Alias ​​ – starkeen

+0

@mayank - Auch wird es nicht immer/Hersteller/'/ Hersteller sein/'ist eine Variable .. Es könnte Apple, Microsoft etc .. sein. – Phorce