我一直在使用以下代码将用户重定向到域名超过2年。
假设用户将导航到my-example.com,索引页面是默认加载博客的模板,因此实际网址是my-example.com/index.php?nid=blog但是网址是在浏览器中显示的是my-example.com/blog。
我一直在使用带有以下代码的.htaccess文件来屏蔽此网址并使其更易于阅读和SEO: -
RewriteEngine On
RewriteRule ^blog(/)?$ /index.php?nid=blog [NC,L]
RewriteRule ^blog/([A-Za-z0-9-]+)(/)?$ /index.php?nid=blog&article=$1 [NC,L] # Handle product requests
在index.php文件中,我使用以下代码将用户转到my-example到my-example.com/blog
if ($nid == "") {
header("Location: ./blog/");
}
这在php 4中工作正常(我的主机默认)。但是我需要在我的新网站上使用PHP 5,所以已经将 AddType x-mapp-php5 .php 添加到.htaccess的顶部,以便Apache使用php 5但是这已经让我的php头重定向
Chrome和Firefox都会出现类似的错误,导致页面无法以永远无法完成的方式正确地重定向 - 重定向循环。
我没有在我的模板中更改php,只添加了AddType和新内容的include。任何想法?
我尝试使用.htaccess重定向到./blog但这似乎会导致同样的错误。
答案 0 :(得分:1)
你之前可能有过register_globals。
从$ _GET [“nid”]中读取nid。
$nid = @$_GET["nid"];
if ($nid == "") {
header("Location: ./blog/");
}