2016-08-09 87 views
0

Ich habe Probleme mit Rewrite-Regel in htaccess-Datei. Bitte helfen Sie.htaccess Rewrite-Regel funktioniert nicht

Dies ist meine aktuellen .htaccess-Datei

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /product-project/ 
RewriteRule . index.php [L] 
</IfModule> 

Jetzt möchte ich eine Rewrite-Regel wie „Produkt/Kategorie/id“ zu schaffen, sollte auf „Produkt/Profil? Profile_id = id“ umleiten. Dazu habe ich

RewriteRule ^product/.*/(.*)$ product/profile?profile_id=$1 [L,R] 

verwendet, die in irgendeiner Weise gut funktioniert.

1. Problem -> Es wird richtig umgeleitet, aber URL ändert sich auch. Es sollte als "Produkt/Kategorie/10" bleiben, wenn ich die ID als 10 verwende. Aber wenn ich das nutze, wird es richtig umgeleitet, aber die URL ändert sich zu "Produkt/Profil? Profile_id = 10". Ich lese irgendwo [L, P] anstelle von [L, R], aber es gibt als Server Fehler.

2. Problem -> Jetzt möchte ich eine neue Rewrite-Regel wie "Produkt/ID" sollte auch auf "Produkt/Profil? Profil_ID = ID" umleiten. Dazu habe ich verwendet

RewriteRule ^product/(.*)$ product/profile?profile_id=$1 [L,R] 

Jetzt wird diese & zeigt Serverfehler

3. Problem nicht funktioniert -> Kann ich schaffen auch eine neue Rewrite-Regel wie „/ id“ sollte umleiten auch auf „Produkt/Profil? profile_id = id ". Ist das möglich ?

4. Problem -> Kann ich auch eine neue Rewrite-Regel wie "/ id1/id2" erstellen, sollte auch auf "product/profile? Profile_id = id1 & serial_id = id2" umgeleitet werden. Ist das möglich ?

Vielen Dank im Voraus für Ihre Zeit.

Antwort

1

Ist das, was Sie wollen bitte überprüfen.

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ $1/$2?profile_id=$3 

für zwei Ids

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ $1/$2?profile_id=$3&id=$4 
1

es verwenden ..

Options All -Indexes 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
+0

Nicht working..When I geben Sie localhost/Produkt-Projekt/Produkt/10 -> es sollte umleiten zu localhost/Produkt-Projekt/Produkt/Profil profile_id = 10. & Wenn ich localhost/product-project/10 eingeben -> sollte es auch zu localhost/product-project/product/profile? Profile_id = 10 umleiten –