mod-rewiteの設定をしたいのですが、うまくいきません。
現在、.htaccessをつかってURLの書き換えを行っているのですが、(これは成功しています)
表示が全体的に遅いので、vhost.confでURLの書き換えをおこないたいの
ですが、実際にやってみるとアパッチが起動せず、Serever errorになってしまいました。
どなたか、設定の仕方を教えていただけませんでしょうか??
httpd.conf等は何もいじっていません。
以下、vhost.confに書いた内容です。
<Directory /var/www/vhosts/example.jp/httpdocs>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.jp$
RewriteRule ^(.*)$ http://www.example.jp/ [R=301,L]
RewriteCond %{HTTP_HOST} ^www.example.jp$
RewriteRule ^index(.*)$ /user_data/aaa_index.php?id=26 [L]
RewriteCond %{HTTP_HOST} ^www.example.jp$
RewriteRule ^([0-9a-zA-Z_]+)/([0-9]+)/$ /list.php?group=$1&pager_count=$2&id=26 [L]
RewriteCond %{HTTP_HOST} ^www.example.jp$
RewriteRule ^([0-9a-zA-Z_]+)/([0-9a-zA-Z_]+)/$ /detail.php?group=$1&data=$2&id=26 [L]
RewriteCond %{HTTP_HOST} ^www.example.jp$
RewriteRule ^([0-9a-zA-Z_]+)/$ /list.php?group=$1&id=26 [L]
</IfModule>
</Directory>
以上の文章以外、何も書いておりません。
手元の環境で試したら、エラーは発生しませんでした。
Server version: Apache/2.2.11 (Unix)
質問文では、以下の行に改行が入っていますが、改行を入れたらエラーになります。
-----------------------------------------------
RewriteRule ^(.*)$
http://www.example.jp/ [R=301,L]
-----------------------------------------------
詳細は、Apacheのエラーログを見るのが一番確実だと思います。
http://httpd.apache.org/docs/2.0/ja/mod/core.html#errorlog
または、コマンドラインでconfigtestを行ってみる。
http://www.atmarkit.co.jp/flinux/rensai/apache05/apache05b.html
matsuboboさん
>または、コマンドラインでconfigtestを行ってみる。
>http://www.atmarkit.co.jp/flinux/rensai/apache05/apache05b.html
コマンドテストで、ミスがみつかりうまくいきました!
ありがとうございました!