mod_rewrite重定向/index.whatever到/不工作

问题描述:

我想重定向index.html的所有请求| php | php5到http://www.domain.co.uk/使用mod_rewrite和我已经复制了一本书的代码从PHP搜索引擎优化逐字,然后添加在php5选项,但它不工作。这是我完整的.htaccess文件:mod_rewrite重定向/index.whatever到/不工作

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] 
+0

那么近,又那么远。欢呼,伙伴 – user97410 2009-09-12 00:32:30

+0

没有什么比第二套眼睛! – seth 2009-09-12 00:33:48