質問: みなさま いつもお世話になっております。 サーバ上に設定したmod_rewiteの設定が、意図した通りに効かず小一時間はまったので、質問させていただきます。 ■環境 LAMP環境(レンタルサーバ)上のapache2系とphp ■問題 mod_rewiteで設定した動作が意図しない動きになります。 ■現象 1サーバ上のドキュメントルート直下に「md」というディレクトリを作成 2その中に.htaccessを設置 3同ディレクトリ内にindex.phpを設置 4ブラウザからアクセス http://ドメイン名/md/ は問題なく見えます(index.phpが動作します)。 http://ドメイン名/md/1234 が意図しない動きになり、404エラーになります。 ■期待する動作 http://ドメイン名/md/1234 にアクセスした際に、index.phpにリダイレクトされ、 index.php?uid=1234 というパラメータ付きのアクセスになるようにしたい。 (見かけ上のURLはそのままを希望しています) ■備考 各ファイルには以下のように記述しています。 .htaccess ``` RewriteEngine on RewriteRule ^/md/([0-9A-Za-z]+)$ /md/index.php?uid=$1 ``` index.php ``` test test ! " . $_GET["uid"] . ""; ?> ``` 以上になります。 ネットでmod_rewiteの記述方法を調べ、何度も確認しましたが、 上記の記述で動作するものと考えておりますが、うまく動作しません。 また、サーバ上には上位ディレクトリに.htaccessはなく、設定が干渉していることもないようにみえます。 有識者の方のアドバイスをいただきたいと思っています。 どうぞよろしくお願いいたします。
回答: /md/ 以下に .htaccess を置いているのでしたら、以下のように設定するのではないでしょうか。 ``` RewriteRule ^([0-9A-Za-z]+)$ index.php?uid=$1 ```