2015-04-04 141 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]