我的webhost最近将他们的PHP升级到了一个新版本,现在我的一个重定向不再工作。
现在不起作用的重定向是:
RewriteRule toppers/i-(.*)/n-(.*).html$ toppers.php?i=$1&n=2
我觉得很奇怪,因为我所有其他类似的规则仍然有效。
这是我的全部。htaccess文件:
Options +FollowSymLinks
RewriteEngine on
RewriteRule toppers/i-(.*)/n-(.*).html$ toppers.php?i=$1&n=2
RewriteRule classes/i-(.*)/n-(.*).html$ classes.php?i=$1&n=2
RewriteRule news/i-(.*)/n-(.*)\.html$ news.php?i=$1&n=2
RedirectMatch 301 ^/cake-topper-pictures-pages/(.*) http://www.caketopper.co.uk/wedding-toppers.php
RedirectMatch 301 ^/cake-topper-picture-pages/(.*) http://www.caketopper.co.uk/wedding-toppers.php
RedirectMatch 301 ^/Cake-Topper-Pictures-Pages/(.*) http://www.caketopper.co.uk/wedding-toppers.php
RedirectMatch 301 ^/feedback-topper-pages/(.*) http://www.caketopper.co.uk/toppers/i-1/n-Couple-on-red-dragon.html
RedirectMatch 301 ^/feedback-toppers/(.*) http://www.caketopper.co.uk/toppers/i-1/n-Couple-on-red-dragon.html
ErrorDocument 404 /404.html
可能有什么问题,我如何解决?
为了证明它不是PHP文件,我尝试了:
echo $topperId = $_GET['i'];
echo $topperName = $_GET['n'];
我没有从URL得到任何回应。
选项如下SYMBOLINKS REWRITE ENGINE on
重写Cond%{REQUEST_URI}topper/i-(.)/n-(.). html[NC]重写规则。*toppers.php?i=%1
重写cond%{REQUEST_URI}类/i-()/n-(.)。html[NC]重写规则。*上课。php?i=%1
重写cond%{REQUEST_URI}news/i-()/n-(.)。html[NC]重写规则。*消息php?i=%1
正如@jeroen所说,这可能是php。尝试用以下内容替换整个文件
<?php
die('Got to PHP');
?>
这将确定你是否达到PHP。如果您display_errors,并且有一个解析错误或其他什么,您可以将您显示的代码放在顶部,但仍然会得到一个空白屏幕。