.htaccess 301从没有尾部斜杠重定向到.php

时间:2016-01-31 17:55:54

标签: apache .htaccess redirect mod-rewrite

.htaccess中,我正在尝试将没有尾部斜杠的网址重定向到扩展名为.php的网址。

似乎问题是页面名称是相同的,因为当起始URL和重定向的URL之间的页面名称不同时,我正在使用的301重定向样式起作用。

使用下面的301重定向,我收到重定向循环错误。

RewriteRule ^example http://www.example.com/example.php  [R=301,L]

如何使301重定向工作?我尝试首先重定向到另一个页面,然后再次重定向到最终的URL,没有运气。

.htaccess的顶部是

AcceptPathInfo off
Options +FollowSymlinks
RewriteEngine on
RewriteBase /

1 个答案:

答案 0 :(得分:1)

您的正则表达式^示例匹配double_optin@mc.lists.subscribe(@list_id, email, nil, 'html', false)

因为您使用的是301重定向,所以来自浏览器的example请求。获取一个响应,告知浏览器访问example.php。但是,example的第二个请求也与RewriteRule匹配,并生成另一个301重定向。

更新正则表达式仅适用于example.php请求。

example.php

尾随$告诉正则表达式引擎匹配在该点结束,并且请求字符串中不能有其他字符。