2012-01-23 30 views
0

我想學習.htaccess重寫我的本地主機什麼我只是啓用mod_rewrite並用phpinfo()檢查它;一切都很好我試圖學習編輯.htaccess和我的第一個例子不工作

現在我創建一個PHP文件:file1.php

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

,然後創建了第二個PHP文件:file2.php

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

然後我創建了一個.htaccess文件和編寫以下rewite規則:

RewriteEngine on 
RewriteRule ^file1.php$ file2.php 

然後我輸入網址http://localhost/test/file1.php我相信它應該重定向到file2.php但沒有發生我同樣我嘗試了一些其他的代碼,但沒有工作,我怎麼能擺脫它。我在ubuntu 10.04上使用apache 2我已啓用mod_rewrite並在phpinfo中檢查了一切都很好,那麼爲什麼我的示例不工作我沮喪幫助我離開這裏。

預先感謝

我有我的就是測試的.htaccess太 同一目錄下的所有文件,我這找到http://www.workingwith.me.uk/articles/scripting/mod_rewrite一個例子,隨後,因爲它建議,但似乎沒有任何工作

+0

請不要downvote我,我學習我用Google搜索,並工作了嘗試了很多,最後我發現現在出來這樣,所以我在這裏問這樣一個愚蠢的問題,請多謝你的寶貴時間 – 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,假設兩個文件都在'test'中,那麼替換字符串肯定應該讀取'^ test/file2.php',否則它會執行內部重定向到'http:// localhost/file2.php' – TerryE

+0

@TerryE Based根據你的假設,你是正確的,但我認爲這兩個文件都是根源:-)。 –

相關問題