2017-02-11 2 views
1

Ich habe diesen Code in meiner .htaccess-Datei„.htaccess“ Datei funktioniert nicht bei allen

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME}\.php !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php [NC] 

Diese Hilfe, um die Erweiterung .php in meiner URL zu entfernen. aber jetzt versuche ich seit Wochen, eine URL, die ich habe, umzubenennen.

article.php?num=5 zu article/num/5 oder vielleicht der Titel des Artikels es selbst hat nichts bisher funktioniert. das habe ich versucht.

RewriteRule ^article/([0-9].+)/?$ article?num=$1 [NC] 

Dennoch bekomme ich immer interne Serverfehler, ich brauche wirklich Hilfe mit diesem ist es frustrierend gewesen.

Antwort

1

es wie unten Regel versuchen,

Options +FollowSymLinks 
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^([\w-]+)$ $1.php [NC,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([\w-]+)/num/([\d]+)$ $1.php?num=$1 [QSA,L] 
+0

wenn ich URL eingegeben wie dieses 'Artikel/num/5' es ändert es' Artikel/num/blog' was kann ich tun – dapo

+0

Wie kommt das? Haben Sie noch andere Regeln? Bitte löschen Sie Ihren Cache, bevor Sie es versuchen. –

+0

Ich mag Ihre Lösung, aber es gibt mir immer noch das gleiche Problem nach dem Löschen des Cache. Bitte überprüfen Sie es und sehen, was falsch ist – dapo

2

Ihre RewritePattern tut die /num/ Segment übernehmen, müssen Sie es anpassen, so dass es Ihre Ihren uri passt /article/num/Ziffern. Ändern Sie Ihre Muster regex auf diese

^article/num/([0-9]+)$ 
+0

nur versucht, Ihre Lösung jetzt bekomme Fehler 404 nicht gefunden – dapo

+0

Ich habe versucht, es zu diesem erneut zu tun 'RewriteRule^article/num/([0-9]. +) $ article.php? num = $ 1' es funktioniert, aber ohne Styling nur leere HTML mit Texten – dapo

+0

@dapo, um Ihre CSS und andere relative Ressourcen zu beheben, fügen Sie ein Basis-Tag im Kopfbereich Ihrer Webseite ** ** – starkeen