我想使用.htaccess
文件为我的动态网站创建网址重写规则:
http://localhost/pincode/pinpo.php?po=Ameda
为:
http://localhost/pincode/postoffice/Ameda.php
如何更改?
答案 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]