当前位置:  开发笔记 > 编程语言 > 正文

清理URL重定向循环

如何解决《清理URL重定向循环》经验,为你挑选了1个好方法。

我正在尝试在我的网站上创建干净的URL.现在我成功配置了apache,所以像mysite.com/page这样的每个请求都能正常工作.但我也希望将mysite.com/page.php的请求重定向到mysite.com/page.我在.htaccess中设置环境变量来检查我是否已被重定向以防止循环,但我仍然得到它们......这是.htaccess:


Options +FollowSymlinks

RewriteEngine On
RewriteBase /

# set the variable
RewriteRule ^$ - [L]
RewriteRule ^(.*)$ $1 [E=REWROTE:0]

# this works fine
# make mysite.com/page work and set REWROTE variable to 1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L,E=REWROTE:1]

# but if i enable this, i get redirected and then stuck in a loop
# redirect mysite.com/page.php to mysite.com/page , but only if REWROTE not 1
#RewriteCond %{ENV:REWROTE} !^1$
#RewriteRule ^(.*)\.php$ $1 [R=301,L]

谢谢!



1> Michael Hare..:

如果请求已被重定向一次(ref),请将此规则添加到现有重写规则之上以停止重定向:

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有