質問: apacheのRewrite機能を使用してURLを静的に変更したいのですが、エラーが発生して困っています。 原因の可能性についてご教授をお願いいたします。 [httpd.conf設定] LoadModule rewrite_module modules/mod_rewrite.so RewriteEngine On RewriteRule ^po(.*)/$ /test.php?id=$1 [L] ※ apache再起動の結果は、Syntax OKとなっています。 [仕様] http://ドメイン/po1234 ⇒ http://ドメイン/test.php?id=1234 [結果] Not Found The requested URL /po1234 was not found on this server.
回答: httpd.confに書くなら頭に / が必要 ``` RewriteRule ^/po(.*)/$ /test.php?id=$1 [L] ``` 同じ内容を .htaccess に書く場合は、頭の / があっちゃだめだけどね。