2012-02-11 27 views
0

こんにちはみんなその可能私のコードのオプションを実行したい編集htaccessの

if (option=1) { 
    // on htaccess write DirectoryIndex home.php index.php #first line 
} else (option=2) { 
    // on htaccess remove DirectoryIndex home.php index.php 
} 

はまた、私は、これは任意の助け

+0

私は実際にあなたが求めているものは得られません。 PHPがファイルを解釈する前に '.htaccess'が読み込まれます。もしあなたの質問があれば、** PHPを使ってファイル**を変更することはできますか?答えはyesです(例えば 'fopen()'と 'fwrite()'を使用します)。いいえ。 –

+0

あなたがそのように尋ねるならば、あなたは恐怖心の答えを得るだけです。このようなアプローチの安全性(およびセキュリティはセキュリティよりも信頼性に関係します)は、ファイル更新の正確な実装方法に左右されます。しかし、1行を消してファイルをロックするのは難しくありません。 – mario

答えて

1

使用PHPのfilesystem functionsため

おかげで安全であるかどうかを知り、ちょうど他のファイルと同様に編集いけません。

ただし、現在のリクエスト以降のリクエストにのみ影響し、変更を行ったリクエストには影響しません。これが問題ならば、PHPに新しい.htaccessと同じことをさせてください。

0

URLを動的に書き換えようとしているのではないかと思いますが、別の方法があります。フォワード

rewrite.phpするすべての要求?REQ =要求(.htaccessの中の1回の単純な書き換えを介して) RewriteRule ^(.*?)$ rewrite.php?req=$1

このなり、次いで例えばの場合は、あなたの設定に基づいてこれに対処することができます。この場合、必要な関連リクエストにアクセスすることができます。この場合はhome.phpです。例えば

<?php 
$req = $_POST['req']; // need to sanitize this obv 

if($option1) { 
    // do something 
} else if ($option2) { 
    // something else 
} 
?> 

+0

これはURL書き換えについてではありません - 私はwebradioのWebサイトで作業しています。これはプレーヤーとメインのWebサイトを持っているので、2つのフレームhome.php(メインサイトのplayer.htmlフレームとindex.phpフレームを呼び出します)ユーザーがhtacessに書き込むフレームでWebサイトを使用するかどうかを指定します。DirectoryIndex home.php index.php DirectoryIndexを削除しない場合home.php index.php frm htaccess –

+0

ユーザーが訪問者を意味する場合、これは実行されません。 .htaccessはシステムの変更であり、それだけではなくすべてのユーザーに影響を与えるので、これに対するソリューションはずっと簡単にできます。クッキー/セッションを保存してユーザがフレームを望む場合、index.phpの先頭にhome.phpを含めて終了します。それ以外の場合は、index.phpに必要な処理をさせます。 –

関連する問題