Apache .htaccess 301从无尾随斜杠重定向到.php
在Apache .htaccess 301从无尾随斜杠重定向到.php,apache,.htaccess,redirect,mod-rewrite,Apache,.htaccess,Redirect,Mod Rewrite,在.htaccess中,我试图将一个没有尾随斜杠的URL重定向到一个扩展名为.php的URL 问题似乎在于页面名称是相同的,因为当起始URL和重定向URL之间的页面名称不同时,我使用的301重定向样式会起作用 使用下面的301重定向,我得到一个重定向循环错误 RewriteRule ^example http://www.example.com/example.php [R=301,L] 我怎样才能使301重定向工作?我尝试先重定向到另一个页面,然后再次重定向到最终的URL,但没有成功 在.
.htaccess
中,我试图将一个没有尾随斜杠的URL重定向到一个扩展名为.php
的URL
问题似乎在于页面名称是相同的,因为当起始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 /
正则表达式^example同时匹配
example
和example.php
因为您使用的是301重定向,所以从浏览器请求示例
。获取一个响应,通知浏览器访问example.php
。但是,example.php
的第二个请求也与重写规则匹配,并生成另一个301重定向
更新正则表达式以仅处理示例
请求
RewriteRule ^example$ http://www.example.com/example.php [R=301,L]
尾随的$告诉正则表达式引擎匹配在该点结束,并且请求字符串中不能有其他字符。谢谢,这样就行了。对$和正则表达式感兴趣;我有很多东西要学。