.htaccessに
RewriteEngine on
RewriteRule articles/([0-9]+)$ /articles.php?&item=$1
と記述して変換を試みているのですが、例えばarticles.php?&item=001とアクセスしても変換されずそのまま表示されてしまいます。
どのような対処が必要でしょうか?
よろしくお願いします。
ちなみにApache httpd.confのAllowOverrideは「All」にしてあります。
よろしくお願いします。
>ちなみにコメント欄開放
「回答受付中にコメント・トラックバックを表示する」
という項目がありますので、そちらにチェックを入れてください。
そもそもkonorinoriさんは
RewriteRule articles/([0-9]+)$ /articles.php?&item=$1
と書くことで何を実現したいのでしょうか?
#こういう事を回答欄に書いているとkonorinoriさんのポイントが無駄になると思います。コメント欄を開放して頂ければポイントも節約できますので。
(ダミー)
RewriteRule ^(.*)\.html$ item.php?ID=$1 [L]
これを例に説明してみます。
item.php?ID=001
これにアクセスすれば当然そのまま表示されます。
001.html
これにアクセスすればitem.php?ID=001と同じ内容のページが表示されます。
ここまででおわかりでしょうか。
articles.php?&item=001にアクセスするのではなくて、
articles/001 にアクセスするのでは?
間違っていたらすみません。差し支えなければコメント欄開放して頂きたいです。
(ダミー)
回答ありがとうございます。
ご指摘の通りにarticles/001でアクセスしてみたのですが、今度は「HTTP 404 - ファイル未検出
」と表示される結果となりました。
ちなみにコメント欄開放とはどのようにすればよいのでしょうか?
>ちなみにコメント欄開放
「回答受付中にコメント・トラックバックを表示する」
という項目がありますので、そちらにチェックを入れてください。
そもそもkonorinoriさんは
RewriteRule articles/([0-9]+)$ /articles.php?&item=$1
と書くことで何を実現したいのでしょうか?
#こういう事を回答欄に書いているとkonorinoriさんのポイントが無駄になると思います。コメント欄を開放して頂ければポイントも節約できますので。
(ダミー)
ありがとうございました。
SEO対策について勘違いをしていたようです。
無事に動作させることができました。
親身に回答いただきありがとうございました。
RewriteEngine on
RewriteRule articles/([0-9]+)$ /articles.php?&item=$1
と書くと、アクセスされたURLの末尾に articles/数字 があると /articles.php?&item=数字 がリクエストされたかのように振る舞います。
つまり、/articles.php?&item=001 にアクセスしたときにそのまま表示されるのは仕様通りです。
あなたのコンテンツ内でリンクを作成する際には /articles.php?&item=001 ではなく /articles/001 という形式で書くように気を付けなければなりません。
ところでRewriteRuleにおそらく意図していない書き間違いがあります
誤)RewriteRule articles/([0-9]+)$ /articles.php?&item=$1
正)RewriteRule ^articles/([0-9]+)$ /articles.php?&item=$1
いまのままだと /hogehogearticles/001 とかでも書き換え対象ですよ。
http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%B...
RewriteRule アクセスURL 転送先URL
ですね。
それと、phpを用いた動的ページの場合、.htaccessの単純な指定だけでは、
うまくいかない場合が多いです。
たとえばnucleusの似たようなケースでは、
けっこう変更するところがたくさんあるのです。
ありがとうございました。
SEO対策について勘違いをしていたようです。
無事に動作させることができました。
親身に回答いただきありがとうございました。