Ich habe ein seltsames Problem mit meiner .htaccess
Ich habe die folgenden Rewrite-Regeln
#REMOVE TRAILING SLASH
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [R=301,L]
#REWRITES
RewriteRule ^clients(/)?$ /views/pages/clients.php [L]
RewriteRule ^about(/)?$ /views/pages/about.php [L]
RewriteRule ^contact(/)?$ /views/pages/contact.php [L]
RewriteRule ^mobile(/)?$ /views/pages/tags.php?tag=mobile [L]
RewriteRule ^tablet(/)?$ /views/pages/tags.php?tag=tablet [L]
Diese Regeln funktionieren, aber zwei von ihnen verhalten sich seltsam.
RewriteRule ^clients(/)?$ /views/pages/clients.php [L]
RewriteRule ^mobile(/)?$ /views/pages/tags.php?tag=mobile [L]
Die Rewrite-Regel "clients" erhält immer einen abschließenden Schrägstrich.
Die Rewrite-Regel "mobile" wird umgeschrieben in http://www.mydomain.com/mobile/?tag=mobile
Ich muss dieses Problem beheben, weil diese Regeln zu unnötigen Weiterleitungen führen, die meine SEO-Leistung beeinträchtigen
Ich finde das sehr seltsam, denn sie sind den anderen ähnlich und funktionieren einwandfrei.
Eine weitere bizarre Tatsache: auf meinem Localhost funktionieren die Rewrites einwandfrei, auf meinem Produktionsserver verhalten sie sich seltsam
Außerdem habe ich gerade herausgefunden, dass die folgende Rewrite-Regel entsprechend wirkt:
RewriteRule ^client(/)?$ /views/pages/clients.php [L]
Hier fehlt der abschließende Schrägstrich, also muss es sich um etwas mit dem Wort "clients" auf der linken Seite der Regel handeln.
UND
Diese Regel funktioniert auch gut
RewriteRule ^mobiles(/)?$ /views/pages/mobile.php [L]
Wenn ich also "clients" und "mobile" auf der linken Seite der Regel verwende, verhält sie sich seltsam. Wenn ich "client" und "mobiles" verwende, funktioniert es einwandfrei.
Kann es sein, dass "Kunden" und "mobil" reservierte Wörter sind oder so?