我写了一个URL重写规则的URL重定向等作为
http://picselbocs.com/projects/helsinki-map-application/{something} to
http://picselbocs.com/projects/helsinki-map-application/index3.php?pcode={something}.
在我检查,如果$_GET['pcode']
变量是index3.php文件的头设置,我的目标是,如果变量未设置(即试图访问http://picselbocs.com/projects/helsinki-map-application/
时),重定向到以下地址:http://picselbocs.com/projects/helsinki-map-application/D02081460
不幸的是,重定向不会发生。这意味着如果该{something}
值是空的,我不重定向到http://picselbocs.com/projects/helsinki-map-application/D02081460
php文件中的代码是:
if (!isset($_GET['pcode'])) {
header('Location: ./D02081460');
exit();
}
而且.htaccess文件上写着:
RewriteEngine On
RewriteRule ^([A-Za-z0-9]+)?$ index3.php?pcode=$1 [NC,L]
任何人都可以告诉我我做错了什么?
在此先感谢!
'(+)'可以(也应该)与''代替?(*)。试试看。 – 2012-03-30 16:20:38
重定向规则是否真的有效?你有没有检查你的Apache日志,看看GET参数实际上是否被传递? – 2012-03-30 16:20:52
该规则按预期工作,除非传递GET变量,是的。 @Truth我已经取代了“+”,但仍然没有伎俩... – 2012-03-30 16:29:51