重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

RewriteRuleを用いて
・条件1.PHPで開発したホームページを表示しつつ,index以外の直リンクを禁止
・条件2.ルートディレクトリ/phpMyAdmin/と指定した時はphpMyAdminに接続
と言うルールを書きたいのですが,

RewriteRule ([^\/].*)\.php$ /index.php?mjs=$1 [L]
RewriteRule ([^\/].*)\.php\?.*$ /index.php?mjs=$1 [L]
RewriteRule ^$ /index.php?mjs=login [L]

で条件1が満たせました.
ここで,条件2を満たすために

RewriteRule ^/phpMyAdmin/(.*)$ /phpMyAdmin/(.*)$ [L]

と追加したら/phpMyAdmin/index.phpに飛ぶはずが/phpMyAdmin/login.phpへと飛んでしまい,「このアドレスへのリクエストに対するサーバのリダイレクト設定がループしています。」とエラーが帰ってきてしまいました.
仕事の合間にかれこれ一週間近く調べては居るのですが,どうすれば条件2が満たせるようになるのか,解決の糸口が見つかりません.

何方か,御助言頂けないでしょうか.
宜しくお願いします.

A 回答 (1件)

試していませんが



RewriteEngine On
RewriteCond %{REQUEST_URI} !^/phpMyAdmin
RewriteRule ([^\/].*)\.php$ /index.php?mjs=$1 [L]

とかで出来ませんか?
http://www.ksknet.net/apache/rewritecond_rew.html
    • good
    • 0
この回答へのお礼

ありがとうございます.
これまでずっとRewriteRuleについてばっかり調べていたので気付かなかったですが,RewriteCondなんて便利な物があったんですね.
大変参考になりました.

お礼日時:2008/06/09 14:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!