質問

index.html | php | php5のすべてのリクエストを http://www.domainにリダイレクトしたい.co.uk / mod_rewriteを使用して、検索エンジン最適化に関する書籍からコードをPHP逐語的にコピーし、php5オプションに追加しましたが、機能しません。これは私の完全な.htaccessファイルです:

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]

私はそれについて何が悪いのか分からず、残りはうまく機能します。誰でも何か考えがありますか?

役に立ちましたか?

解決

RerwriteCondが \ HTTP で終わるためだと思います。

変更:

RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php5|php|html)
RewriteRule ^(.*)index\.(php5|php|html)$ /$1 [R=301,L]

THE_REQUESTのHTTPに一致させたい場合は、そこにスペースを入れてください

RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php5|php|html)\ HTTP
RewriteRule ^(.*)index\.(php5|php|html)$ /$1 [R=301,L]
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top