みなさま
いつもお世話になっております。
サーバ上に設定したmod_rewiteの設定が、意図した通りに効かず小一時間はまったので、質問させていただきます。
■環境
LAMP環境(レンタルサーバ)上のapache2系とphp
■問題
mod_rewiteで設定した動作が意図しない動きになります。
■現象
①サーバ上のドキュメントルート直下に「md」というディレクトリを作成
②その中に.htaccessを設置
③同ディレクトリ内にindex.phpを設置
④ブラウザからアクセス
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
php
1<html> 2<head> 3<title>test</title> 4</head> 5<body> 6test ! 7<?php 8echo "uid -> " . $_GET["uid"] . "<br>"; 9?> 10</body> 11</html>
以上になります。
ネットでmod_rewiteの記述方法を調べ、何度も確認しましたが、
上記の記述で動作するものと考えておりますが、うまく動作しません。
また、サーバ上には上位ディレクトリに.htaccessはなく、設定が干渉していることもないようにみえます。
有識者の方のアドバイスをいただきたいと思っています。
どうぞよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー