1

最近、ウェブホストが PHP を新しいバージョンにアップグレードしたところ、リダイレクトの 1 つが機能しなくなりました。

現在機能しないリダイレクトは次のとおりです。

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 RewriteEngine on

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]

4

1 に答える 1

0

@jeroen が言ったように、それはおそらく php です。ファイル全体を次のようなものに置き換えてみてください

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

これにより、phpに到達しているかどうかが確実にわかります。display_errors をオフにしていて、解析エラーまたは何かがある場合は、表示したコードを一番上に置いても空白の画面が表示される可能性があります。

于 2012-12-27T22:29:33.757 に答える