.htaccessのURL書き換えができません
print.php
----
$i=$_GET['que'];
$fname= file/$i.'.php';
include 'header.php'; include $fname; include 'footer.php';
----
というphpファイルがあります。
たとえば、localhost/print.php?que=cat にアクセスすると
header.php、file/cat,php、footer.phpをあわせたものが出力されることを想定しています。
最近、.htaccessというものを設定することによってURLを書き換えることができると知り、
localhost/cat.phpにアクセスしてもheader.php、file/cat,php、footer.phpをあわせたものが出力されるように、htaccessファイルに
----
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)\.php$ print.php?que=$1
RewriteRule ^([a-zA-Z0-9_-]+)/\.php$ print.php?que=$1
----
と記述しました。
localhost/cat.phpにアクセスすると、localhost/print.php?que=catに書きかえられるので、print.phpにque=catがGETされ、
header.php、file/cat,php、footer.phpが出力されると期待したためです。
しかしいざ実行してみると、 failed to open stream: No such file or directory とエラーが出てきます。
原因を探ってみたところ、echo $fname;としてみると page.phpとのみ出力されることから、どうやらqueが正常にgetされていないようです。
自分ではこれ以上の原因と対策がわからないので、localhost/cat.phpと入力するとprint.phpにque=catをGETさせるような方法を教えてください。
よろしくお願いします。