.htaccess动态URL重写规则

时间:2015-04-04 03:19:55

标签: php .htaccess

我想使用.htaccess文件为我的动态网站创建网址重写规则:

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

为:

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

如何更改?

2 个答案:

答案 0 :(得分:1)

pincode/.htaccess文件

中使用此功能
   RewriteEngine on
  RewriteBase /pincode/
RewriteRule ^postoffice/(.*)\.php$ /pincode/pinpo.php?po=$1 [QSA,NC,L]

答案 1 :(得分:0)

从服务器的角度来看,该过程是相反的,它会将您伪造的静态网址重写为动态网址,以便检索动态内容。

您网站上的网址(request_uri)应为

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

webroot中的.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]