2015-04-04 177 views
1

我想爲我的使用.htaccess文件從動態的網站創建URL重寫規則:的.htaccess重寫規則動態URL

http://localhost/pincode/pinpo.php?po=Ameda 

到:

http://localhost/pincode/postoffice/Ameda.php 

如何改變呢?

回答

1

使用此在pincode/.htaccess文件

RewriteEngine on 
    RewriteBase /pincode/ 
RewriteRule ^postoffice/(.*)\.php$ /pincode/pinpo.php?po=$1 [QSA,NC,L] 
0

但從服務器點的過程是相反的,它重寫你的鍛造靜態的URL,致力於獲取動態內容的動態網址。

你在你的網站(REQUEST_URI)網址應該是

http://localhost/pincode/postoffice/Ameda.php

你在根目錄的.htaccess文件應包含:

RewriteEngine on 
    RewriteBase/
    RewriteRule ^pincode/postoffice/(.*)\.php$ /pincode/pinpo.php?po=$1 [L] 

如果你想重寫動態看靜態,您仍然需要兩條重寫規則以便您的動態數據檢索工作,這樣:

RewriteEngine on 
    RewriteBase/        
    #static to dynamic, with nol arg to prevent infinite looping  
    RewriteRule ^pincode/postoffice/([a-z0-9]+).php$ pincode/pinpo.php?nol&po=$1 [L] 
    #dynamic to static: 
    RewriteCond %{QUERY_STRING} ^po=([a-zA-Z0-9]+)$ 
    RewriteRule ^/pincode/pinpo.php$ pincode/postoffice/%1.php [L]