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?

War es hilfreich?

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
scroll top