2009-09-12 54 views
0

我想重定向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] 

我不知道這是什麼問題,其餘的工作正常和丹迪。任何人有任何想法?

回答

2

我認爲這是因爲你的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