2012-01-23 18 views
0

私はlocalhostで.htaccessを書き直そうとしていますが、mod_rewriteを有効にしてphpinfo()すべてが私はedit.htaccessを学びたいと思っていました。私の最初の例は今まで働いていませんでした。

結構です今私は、PHPファイルを作成します。file1.phpその後、

<?php 
    echo "file one working successfully"; 
    print_r($_GET); 
?> 

とは、第二のPHPファイルを作成:

<?php 
    echo "file two working successfully"; 
    print_r($_GET); 
?> 

file2.phpそれから私は、.htaccessファイルを作成し、次REWITEのルールを記述します。

RewriteEngine on 
RewriteRule ^file1.php$ file2.php 

その後、私はそれを信じているURLを入力http://localhost/test/file1.php file2.phpにリダイレクトする必要がありますが、何も起こりません。同様に私はいくつかの他のコードを試しましたが、私はそれから抜け出すことができませんでした。私はubuntu 10.04でApache 2を使用しています。私はmod_rewriteを有効にしてphpinfoですべてをチェックしています。それで私の例はうまくいきません。

感謝は事前

に私はhttp://www.workingwith.me.uk/articles/scripting/mod_rewriteでこの例を挙げ見つけるあまりに テストの.htaccessで同じディレクトリにすべての私のファイルを持ち、それが示唆されているように続いたが、何も

+0

私はGoogleで検索している学習者よ、私downvoteいけないしてください、最終的に多くのことをしようとしたと働きました私は今からこれを見つけたので、私はあなたの貴重な時間のためにここにそのような愚かな質問をお願いします。 – spiderman

答えて

0

てみてください動いていないようにみえています

RewriteEngine on 
RewriteRule ^file1\.php$ file2.php 

htaccessが想定していると仮定します。正規表現のコマンドとして、実際のものではなく、バックスラッシュする必要がありますか?

+0

あなたはエスケープについて正しいですが、これは彼の問題を解決しません。 – Gerben

2

あなたの.htaccessファイルがリターンを与える必要がありますhttp://localhost/test/file1.phpにアクセスし、以下の変更で、ルートディレクトリにあると仮定するとfile two working successfully

RewriteEngine on 
RewriteBase/

RewriteRule ^test/file1\.php$ file2.php [NC,L] 
+0

Ulrich、2つのファイルが 'test'にあると仮定すると、置換文字列は'^test/file2.php'を読みます。そうでなければ 'http:// localhost/file2.php'への内部リダイレクトを行います。 – TerryE

+0

@TerryE Basedあなたの仮定では、あなたは正しいですが、私は両方のファイルがルートにあると仮定しました:-)。 –

関連する問題