-1

mod rewriteを使用していますが、コードが機能しません。それはしばらくの間機能しました。コードを削除しました。

.htaccess

RewriteEngine On 
RewriteBase / 
RewriteRule ^/(.*)/$ index.php?test=$1

PHP

<?php
var_dump($_GET['test']);
?>

行くindex.phpと表示されますNULL

なぜ機能しなくなったのかわかりません。あなたが私を助けてくれることを願っています。

追伸.htaccessでログインフォームを作成して、.htaccessファイルが読み込まれるかどうかをテストしました。

4

2 に答える 2

2

最初のスラッシュを取り除く必要があります:

RewriteRule ^(.*)/$ index.php?test=$1

その場合でも、スラッシュで終わるURLを入力した場合にのみ、ルールが適用されます。たとえば、次のようになります。

/index.php/

任意のURLで機能させる場合は、最後のスラッシュも削除する必要があります。

RewriteRule ^(.*)$ index.php?test=$1

編集:既存のファイルとディレクトリの書き換えを回避するには、いくつかの条件を追加する必要があります。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?test=$1
于 2012-09-14T15:09:15.710 に答える
1

ルールの最初のスラッシュを削除する必要があります

RewriteEngine On 
RewriteBase / 
RewriteRule ^(.*)/$ index.php?test=$1
于 2012-09-14T15:08:15.827 に答える