próbuję przygotować link w stylu localhost/page/news/1 - przepisuje go na localhost/page/news?id=1 - bez php gdyż końcówki .php również w htaccessie obcinam. To dzieała jednakże mam zduplikowaną zawartość zarówno na pierwszym jak i drugim linku, w jaki sposób przekierować ruch przy wejściu na drugi link (z ?id=1), na pierwszy przyjazny?
Mam taki kod (usuwa także końcowy slash):
Options +FollowSymLinks -MultiViews # Turn mod_rewrite on RewriteEngine On RewriteBase /page # If not a directory, remove the trailing slash RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/$ $1 [R=301,L] # Redirect external .php requests to an extensionless url RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/ RewriteRule ^(.+)\.php$ $1 [R=301,L] # Resolve extensionless php url, to the php file RewriteRule ^([^/.]+)$ $1.php [L] RewriteCond %{THE_REQUEST} \s/news\.php\?id=([0-9]+)\s [NC] RewriteRule ^ news/%1 [R=301,L] RewriteRule ^news/([0-9]+)/?$ news.php?id=$1 [L]
Ktoś ma jakiś pomysł co robię źle?