【问题标题】:RewriteRule no longer working after web host upgradeWeb 主机升级后 RewriteRule 不再工作
【发布时间】:2012-12-13 06:32:28
【问题描述】:

我的虚拟主机最近将他们的 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 中得到任何回应。


选项 +FollowSymLinks 重写引擎开启

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

RewriteCond %{REQUEST_URI} 类/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]

【问题讨论】:

  • 错误日志中有任何错误吗?
  • @jeroen 我不认为我可以访问它,我不明白如果第 5 行和第 6 行完美运行,为什么第 4 行无法运行?
  • 如果只升级了 php,重定向可能工作但 php 文件有错误。
  • 您应该删除或注释掉该行并尝试直接使用您的虚拟主机控制面板添加重写规则。很多时候,他们有一个 API 可以用你给它的参数为你做这件事——希望这证明是有用的。例如 GatorHost 有一个接口;每次都有效。如果这不起作用,请联系虚拟主机支持热线
  • @jeroen 请查看编辑,我可以确认它不是 PHP 文件 :(

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


【解决方案1】:

正如@jeroen 所说,它可能是 php.ini 文件。尝试用类似的东西替换整个文件

<?php
die('Got to PHP');
?>

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2015-02-13
    • 2018-09-16
    • 2016-01-03
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多