Web主机升级后,RewriteRule不再工作

时间:2012-12-27 22:08:48

标签: php apache .htaccess mod-rewrite url-rewriting

我的虚拟主机最近将他们的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'];

我没有得到任何回应。


选项+ FollowSymLinks

上的RewriteEngine

RewriteCond%{REQUEST_URI} toppers / i - (。)/ n - (。)。html [NC] RewriteRule。* toppers.php?i =%1& n =%2 [L,NC]

RewriteCond%{REQUEST_URI} classes / i - (。)/ n - (。)。html [NC] RewriteRule。* classes.php?i =%1& n =%2 [L,NC]

RewriteCond%{REQUEST_URI} news / i - (。)/ n - (。)。html [NC] RewriteRule。* news.php?i =%1& n =%2 [L,NC]

2 个答案:

答案 0 :(得分:0)

正如@jeroen所说,它可能是php。尝试用

之类的东西替换整个文件
<?php
die('Got to PHP');
?>

这将确定您是否正在访问php。如果你关闭了display_errors并且有一个解析错误或其他什么,你可以把你显示的代码放在顶部,但仍然会出现空白屏幕。

答案 1 :(得分:0)

试试这个:

RewriteCond %{REQUEST_URI} toppers/i-(.*)/n-(.*)\.html [NC]
RewriteRule .* toppers.php?i=%1&n=%2  [L, NC]

而不是:

RewriteRule toppers/i-(.*)/n-(.*).html$ toppers.php?i=$1&n=2

在您的原始规则中,我猜这个i=$1&n=2应该是i = $ 1&amp; n = $ 2 。否则¿为什么捕获2组?

如果是这样,我无法理解的是其他最高规则的原因。他们也错过了第二个参考文献中的$

无论如何,使用建议的规则设置任何传入的URL,例如评论中示例中的URL:

http://www.mysite.co.uk/toppers/i-1/n-Couple-on-red-dragon.html

映射到:

http://www.mysite.co.uk/toppers.php?i=1&n=Couple-on-red-dragon