301重定向在htaccess中不起作用

时间:2016-05-20 06:43:19

标签: apache .htaccess redirect mod-rewrite

我想从https://*****.com/lp/index.html重定向 到https://*****.com/lp/

所以我将这两行放在.htaccess

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /lp/index\.html\ HTTP/
RewriteRule ^/lp/index\.html$ /lp/ [R=301,L]

现在我的htaccess文件中的整个重定向块是这样的:

RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.php\ HTTP/
RewriteRule ^(([^/]+/)*)index\.php$ /$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /lp/index\.html\ HTTP/
RewriteRule ^/lp/index\.html$ /lp/ [R=301,L]

但index.html重定向无效。

有谁知道为什么?谢谢。

2 个答案:

答案 0 :(得分:1)

像这样使用:

RewriteEngine On

# remove index.php
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^(.*)index\.php$ /$1 [L,R=301,NC,NE]

# remove /lp/index.html
RewriteCond %{THE_REQUEST} \s/+lp/index\.html [NC]
RewriteRule ^ /lp/ [L,R=301,NE]

清除浏览器缓存并重新测试。

答案 1 :(得分:0)

试试这个 http://www.rapidtables.com/web/tools/redirect-generator.htm
使用Apache .htaccess重定向选项