• ベストアンサー

mod_rewriteを使えるようにするには?

LinuxのOS Fedora Core4でサーバを立てています。 .htaccessでmod_rewriteを使用したいのですが、デフォルトでのApach2.054インストールでは使用できないようです。 使用するにはhttpd.confファイルの中に LoadModule rewrite_module modules/mod_rewrite.so と AddModule mod_rewrite.c の行が必要だそうですが、 AddModule mod_rewrite.cの行が見当たりません。 どうやってインストールできるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

Apache2ではAddModuleは必要なかったと思います。

zero123
質問者

お礼

すみません、使えました。 デフォルトで使えるようです。 どこか設定をミスしていたようです。

zero123
質問者

補足

実際にmod_rewriteが使えません。 mod_rewrite導入済みのレンタルサーバでは使えています。 自宅サーバの設定がおかしいだけでしょうか?

その他の回答 (1)

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

mod_rewrite を使うために必要なものは - /etc/httpd/modules/mod_rewrite.so (OS標準のApache2 の場合) ファイルが正しくインストールされていること - httpd.confファイル内に LoadModule rewrite_module modules/mod_rewrite.so の記述があることです。

zero123
質問者

お礼

デフォルトで使えるようです。 どこか設定をミスしていたようです。

関連するQ&A

  • mod_rewriteが効かない!

    サーバの運用上、mod_rewriteを使う必要が出来たので設定してみたのですが効きません。 FreeBSD4.11+Apache1.3.33で httpd.confファイルに直接書き込んで試しています。 LoadModule rewrite_module modules/mod_rewrite.so AddModule mod_rewrite.c のどちらも書いてあるにもかかわらず、下記のテスト設定を試してみたらローカルIPからアクセス出来てしまいます。 RewriteEngine on RewriteCond %{REMOTE_ADDR} ^192\.168\.1\. ←ローカルネットワークのアドレス RewriteRule ^.*$ - [F] どのようにしたらいいですか? アドバイスお願い致します。

  • mod_rewriteを使用するための設定について

    お世話になります。 mod_rewriteの設定についてアドバイスいただきたいと思います。 今までレンタルサーバーで.htaccessを使って、動的URLを静的URLでアクセスさせることに用いていたのですが、自前サーバー(FedraCore2.0+Apache2.0.53)にその.htaccessファイルを移してみたところ、思ったような動作をしてくれません。色々なサイトを参考に見て回ったところ、「httpd.conf」が怪しいと感じたのですが、 LoadModule rewrite_module modules/mod_rewrite.so LoadModule proxy_module modules/mod_proxy.so の箇所もコメントアウトされておりますし、過去ログにもあったバーチャルホストの併用もしておりません。 ちなみに.htaccessは下記のような内容です。 DirectoryIndex index.htm index.php .ht RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^doc-([0-9]+).htm+ doc.php?number=$1 レンタルサーバーでは問題なく動作しておりましたので、.htaccess側の問題ではなくApache側の問題だと思っております。どなたかアドバイスの程よろしくお願いいたします。

  • CentOSでhtaccessを使用してmod_rewrite

    CentOSで、htaccessを使用してmod_rewriteを利用したいのですが、いまいちどうしたらいいのかがわかりません。 動的URLを静的URLに変換したく、 htaccessに RewriteEngine on RewriteRule ^([0-9A-Za-z_]+)/$ index.php?t=$1 [L] と書きこみました。 すると404エラーがでます。 試しに #RewriteEngine on RewriteRule ^([0-9A-Za-z_]+)/$ index.php?t=$1 [L] とコメントアウトしたところ、通常に表示されました。 RewiteEngine on が何かしらの影響を与えていると思うのですが、 対策がよくわからないので質問いたしました。 ちなみにhttpd.confの設定は完了しています。 LoadModule rewrite_module modules/mod_rewrite.so と記述。

  • mod_rewriteについて

    初めて質問させていただきます。 よろしくお願いします。 Solaris8にてApacheを動かしています。 【問題】「HTTP TRACE」を拒否するためにmod_rewriteモジュールをインストールしようと思うのですがうまくいきません。 【詳細】mod_rewriteをインストールするとmod_soが消えてしまい、mod_soを入れなおすとmod_rewriteが消えてしまいます。  ./configure --enable-module=so --enable-module=rewrite とすると両方が入るみたいなんですが、 /usr/local/apache/bin/apachectl startssl としても、  Syntax error on line 206 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/libexec/libssl.so into server: ld.so.1: /usr/local/apache/bin/httpd: 重大なエラー: 再配置エラー: ファイル /usr/local/apache/libexec/libssl.so: シンボル ap_global_ctx: 参照シンボルが見つかりません。 /usr/local/apache/bin/apachectl startssl: httpd could not be started と、こんなエラーが出てhttpdがスタートできません。 どこに原因があるためのエラーなのでしょうか??

  • Apache1.33 PHP4.3.9 でApacheが起動できない

    ■環境 Microsoft Virtual PC 上でFreeBSD動作(WindowsXP Serviec Pack 2) FreeBSD4.10 Apache1.3.3 PHP4.3.9 PostgreSQL8.2.4 ○Apache1.3.3のインストール ./configure --enable-shared=max --enable-module=most make make install ○PHP4.3.9のインストール ./configure --without-mysql --with-apxs=/usr/local/apache/sbin/apxs --enable-mbstring --with-pgsql make make install cp php.ini-dist /usr/local/lib/php.ini ○/usr/local/apache/etc/httpd.conf の内容 ----------------------------------------------------------- # Example: # LoadModule foo_module libexec/mod_foo.so LoadModule env_module libexec/mod_env.so LoadModule config_log_module libexec/mod_log_config.so LoadModule mime_magic_module libexec/mod_mime_magic.so LoadModule mime_module libexec/mod_mime.so LoadModule nagotiation_module libexec/mod_nagotiation.so LoadModule status_module libexec/mod_status.so LoadModule info_module libexec/mod_info.so LoadModule includes_module libexec/mod_include.so LoadModule autoindex_module libexec/mod_autoindex.so LoadModule dir_module libexec/mod_dir.so LoadModule cgi_module libexec/mod_cgi.so LoadModule asis_module libexec/mod_asis.so LoadModule imap_module libexec/mod_imap.so LoadModule action_module libexec/mod_actions.so LoadModule speling_module libexec/mod_speling.so LoadModule userdir_module libexec/mod_userdir.so LoadModule proxy_module libexec/mod_libproxy.so LoadModule alias_module libexec/mod_alias.so LoadModule rewrite_module libexec/mod_rewrite.so LoadModule access_module libexec/mod_access.so LoadModule auth_module libexec/mod_auth.so LoadModule anon_auth_module libexec/mod_auth_anon.so LoadModule dbm_auth_module libexec/mod_auth_dbm.so LoadModule digest_module libexec/mod_digest.so LoadModule cern_meta_module libexec/mod_cern_meta.so LoadModule expires_module libexec/mod_expires.so LoadModule headers_module libexec/mod_headers.so LoadModule usertrack_module libexec/mod_usertrack.so LoadModule unique_id_module libexec/mod_unique_id.so LoadModule setenvif_module libexec/mod_setenvif.so LoadModule php4_module libexec/libphp4.so # Reconstruction of the complete module list from all available modules # (static and shared ones) to achieve correct module execution order. # [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO] ClearModuleList AddModule mod_env.c AddModule mod_log_config.c AddModule mod_mime_magic.c AddModule mod_mime.c AddModule mod_nagotiation.c AddModule mod_status.c AddModule mod_info.c AddModule mod_include.c AddModule mod_autoindex.c AddModule mod_dir.c AddModule mod_cgi.c AddModule mod_asis.c AddModule mod_imap.c AddModule mod_actions.c AddModule mod_speling.c AddModule mod_userdir.c AddModule mod_proxy.c AddModule mod_alias.c AddModule mod_rewrite.c AddModule mod_access.c AddModule mod_auth.c AddModule mod_auth_anon.c AddModule mod_auth_dbm.c AddModule mod_digest.c AddModule mod_cern_meta.c AddModule mod_expires.c AddModule mod_headers.c AddModule mod_usertrack.c AddModule mod_unique_id.c AddModule mod_so.c AddModule mod_setenvif.c AddModule mod_php4.c AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps ------------------------------------------------ 以下のコマンドでapacheを起動しようとすると /usr/local/apache/sbin/apachectl start 下記のエラーが発生してしまいます。どうか解決策を教えてください。 /usr/local/apache/sbin/apachectl start Syntax error on line 26 of /usr/local/apache/etc/httpd.conf Cannot load /usr/local/apache/libexec/mode_env.so into server : /usr/local/apache/ libexec/mod_env.so: Undefined symbol "ap_palloc" /usr/local/apache/sbin/apachectl start: httpd could not be started

  • apacheでmod_userdir.c

    apacheを使っています。設定ファイルhttpd.confには LoadModule userdir_module modules/mod_userdir.so という記述があるにも関わらず、 $ httpd -lコマンドを実行しても、 mod_userdir.c が表示されていません。 これでは、httpd.conf中に、 UserDir /home/*/public_html を記述しても、public_htmlにアクセスされても Pages not found となってしまいます。 mod_userdir.cを組み込む方法をご教授ください。

  • httpsでmod_rewriteができない

    はじめまして。 Linux環境で、apacheのhttp.confにmod_rewriteを記載し、httpsとhttpを切り替えたいと思っています。 httpd.confに以下のように記述しています。 <IfModule mod_rewrite.c> RewriteEngine on  #(1)httpで/aaaa/bbbbにアクセスされたときにhttps://~に変えたい RewriteCond %{REQUEST_URI} ^/aaaa/bbbb RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R]  #(2)httpsで/cccc/ddddにアクセスされたときにhttp://~に変えたい RewriteCond %{REQUEST_URI} ^/cccc/dddd RewriteCond %{HTTPS} on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R] </IfModule> 上記(1)のhttpでのアクセス時には、mod_rewriteが効いてhttpsへ切り替えられるのですが、 上記(2)のhttpsでのアクセス時には、mod_rewriteが効いていないようでhttpへ切り替えられません。 rewriteログを見てみると、当サイトへhttpでアクセスした場合にはログが出力されますが、 httpsでアクセスした場合には出力されません。 そもそもhttpsでのアクセスの場合にhttpd.confのmod_rewriteが効いていないようです。 ですが、これに対しどこを調査すべきかが分かっていません。 SSLの設定自体は出来ていると思っていて、 https://xxxx.jpのようにアクセスするとちゃんとページが表示されます。 どの当たりに問題がありそうでしょうか? 解析のヒントを頂けたらと思います。 宜しくお願い致します。

  • RewriteRule有効について(Apache設定)

    Apache2をWindows2kにインストールし運用しています。 RewriteRuleを行うが有効になりません。 httpd.confと.htaccessは、以下のように記述しています。 .htaccessは、レンタルサーバーに転送しテストすると正常に動作します。 と言うことは、ローカルサーバーの環境設定がまずいと言うことになるかと思うのですがどうしても分かりません。 ご教授の程、宜しくお願いします。 -----(httpd.conf)----- Options All AllowOverride All LoadModule rewrite_module modules/mod_rewrite.so -----(httpd.conf)----- -----(.htaccess)----- RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^info.html+ info.php RewriteRule ^k/index.html$ k/index.php RewriteRule ^k/([0-9A-Za-z]+)/$ k/index.php?id=$1 -----(.htaccess)-----

  • mod_rewriteのRewriteMapについて

    初めて質問させていただきます。 mod_rewriteのRewriteMapの使い方について質問があります。 /etc/httpd/conf/httpd.conf に以下のように書きました。 <IfModule mod_rewrite.c> RewriteEngine on RewriteLog /etc/httpd/logs/rewrite_log RewriteLogLevel 2 RewriteMap userMap txt:/home/userMap/userMap.txt </IfModule> この状態で、Apache2を再起動すると、Apacheが起動する際に以下のエラーが出て起動できません。 -- httpd を起動中: Syntax error on line 1036 of /etc/httpd/conf/httpd.conf: RewriteMap: file for map userMap not found:/home/userMap/userMap.txt -- エラーメッセージは指定されたファイルがないと言うことだと思うのですが、指定した位置には確かにファイルがあることを確認しています。 ファイルの所有権や上位ディレクトリのパーミッションの関係なのかなと思って、いろいろ変えて試しているのですが、一向にうまくいきません。 RewriteMapのファイルを置く位置はどこがベストなのかとか、パーミッションや所有権などで気をつけるべきポイントなどを教えていただけると助かります。 よろしくお願いいたします。

  • PHP設定

    windows XP Apache 2.0.51 php 5 で設定を行っているのですが、 httpd.confファイルのLoadModule・・・の下に続けて LoadModule php5_module C:/php/php5apache2.dll AddModule mod_php5.c を記述すると The requested operation has failed! とエラーが出てきます。 この2行をコメントアウトするとエラーが出なくなります。 情報が少ないかもしれませんが、お返事お待ちしております。

    • ベストアンサー
    • PHP