2014-01-25 91 views
0

如何從htaccess的URL更改PHP頁面的名稱,這是我的真實URL如何使用.htaccess更改URL中的PHP頁面名稱?

site.com/folder/hi.php 

我想在不改變我認爲是真實的文件名(HI),所以改名字(HI)至(你好)網址必須是。

site.com/folder/hello.php 

而我該如何在PHP索引頁面調用此鏈接?喜歡單詞按頁面名稱更改

請幫忙。使用

這一點,但沒有工作

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule ^folder/([0-9]+)/?$ /hi.php?vp=$1 [L,QSA,NC] 
+2

你在重寫規則中的正則表達式只查找數字,而不是像az這樣的字符,所以它從來沒有觸發你好,把它改爲'[0-9a-z] +' –

+0

這個問題不清楚,例子不符合質疑。有許多關於htaccess的類似問題。記住質量問題=答案質量。這就是爲什麼你應該改進它。 –

回答

0

我猜你想擁有http://example.com/folder/hello.php/1234在瀏覽器的地址欄。如果您轉到該網址,該頁面將在您的服務器上加載/folder/hi.php?vp=1234,但網址不會更改。

然後,您就需要使用規則像.htaccess文件在您的www根以下:

RewriteRule ^folder/hello\.php/([0-9]+)/?$ /folder/hi.php?vp=$1 [L,QSA,NC] 

第一個參數中有一個\..可以匹配任何字符,但我們想匹配一個實際的點。 \.是一個轉義點字符,因此只匹配實際點。第二個參數是來自www-root的絕對URL。

確保在安裝Apache時啓用了mod_rewrite,並允許您使用.htaccess文件。如果hi.php$_GET['vp']或類似的東西檢查vp,這應該可以正常工作。如果它使用$_SERVER['REQUEST_URI']檢查它,那麼它不會(並且它永遠不會工作)。