mod_rewrite zu umleiten /index.whatever zu / nicht funktioniert
-
06-07-2019 - |
Frage
Ich möchte alle Anforderungen für index.html umleiten | php | php5 http: //www.domain .co.uk / mod_rewrite und ich habe den Code von einem Buch auf Suchmaschinen-Optimierung mit PHP wörtlich kopiert, dann in der php5 Option hinzugefügt, aber es funktioniert nicht. Dies ist meine komplette .htaccess-Datei:
RewriteEngine On
#translate any .html ending into .php5
RewriteRule ^(.*)\.html$ /$1\.php5
RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php5|php|html)\HTTP
RewriteRule ^(.*)index\.(php5|php|html)$ /$1 [R=301,L]
#change / for ?
RewriteRule ^(.*)\.html/(.*)$ /$1\.html?$2
#strip .html from search res page
RewriteRule ^(.*)search/(.*)$ /$1search_results\.html/search=$2
#translate product details link from search res page
RewriteRule ^products/(.*)/(.*)/(.*)$ /product_details.php5?category=$1&title=$2&id=$3 [L]
#Translate products/psorisis/chamomile-skin-cream-P[x] to productview.php5?id=1
RewriteRule ^products/.*-P([0-9]+) /productview.php5?id=$1 [L]
Ich weiß nicht, was daran falsch ist, und der Rest funktioniert gut und schön. Wer noch keine Gedanken haben?
Lösung
Ich denke, es ist, weil Ihr RerwriteCond mit \HTTP
endet.
Ändern Sie es an:
RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php5|php|html)
RewriteRule ^(.*)index\.(php5|php|html)$ /$1 [R=301,L]
Wenn Sie die HTTP von THE_REQUEST dann einen Raum dort setzen übereinstimmen soll
RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php5|php|html)\ HTTP
RewriteRule ^(.*)index\.(php5|php|html)$ /$1 [R=301,L]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow