2016-06-24 12 views
1

Ich habe ein URL-Rewriting-Problem. Alle Thema Urls meiner Website Punkt, an www.mywebsite.com/topic.php?topic=id Ich wollte diese URLs ändernAuf der Suche nach einer RewriteRule-Lösung

www.mywebsite.com/topic-id.html Ich habe es mit dass in einer .htaccess-Datei:

Options +FollowSymlinks 

RewriteEngine on 

RewriteRule ^topic-([0-9]+)\.html$ /topic.php?topic=$1 

Jetzt möchte ich alle URLs wie wie themen id.html neu geschrieben /topic.php?topic=id zeigen werden, um nur eine uRL für Benutzer angezeigt haben ohne meinen gesamten Code neu zu schreiben. Ist es möglich, das zu tun?

Ich versuchte, die [R] Flagge auf diese Weise:

RewriteRule ^topic-([0-9]+)\.html$ /topic.php?topic=$1 [R] 

Aber es ist genau das Gegenteil von dem, was ich suche, da es alle Urls wie (themen id.html) umwandelt (topic.php? topic = id).

ich angeben, dass ich nicht für eine Lösung „der Duplicate Content Problem“ suchen

Jede Hilfe wäre toll, Danke

Antwort

0

Sie können dies versuchen, ich diese Arbeit hop Sie

RewriteCond %{THE_REQUEST} \s/topic\.php\?id=([_0-9a-zA-Z-]+)\s [NC] 
RewriteRule ^%1? [R=301,L] 
RewriteRule ^([_0-9a-zA-Z-]+)$ /topic.php?id=$1 [L] 


RewriteCond %{THE_REQUEST} \s/topic\.php\?id=([_0-9a-zA-Z-]+)\s [NC] 
RewriteRule^%1.html? [R=301,L] 
RewriteRule ^([_0-9a-zA-Z-]+?)(?:\.html)?$ /index.php?id=$1 [NC,L] 
0

folgende über Ihren bestehenden Regeln anlegen (unten die RewriteEngine on Linie):

0

Alles, was Sie benötigen, ist dies:

RewriteEngine On 
RewriteRule ^topic-([^-]*)\.html$ /topic.php?topic=$1 [L] 
Verwandte Themen