如何使用htaccess在php中隐藏/删除查询字符串?

时间:2012-10-11 11:48:18

标签: php .htaccess configuration-files

1 个答案:

答案 0 :(得分:0)

我用这个.htaccess

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([\(\)\|a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$   /index.php?ext=$1&cat=$2&name=$3&sub1=$4&sub2=$5&sub3=$6&sub4=$7&sub5=$8 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([\(\)\|a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$    /index.php?ext=$1&cat=$2&name=$3&sub1=$4&sub2=$5&sub3=$6&sub4=$7 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([\(\)\|a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ /index.php?ext=$1&cat=$2&name=$3&sub1=$4&sub2=$5&sub3=$6 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([\(\)\|a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$  /index.php?ext=$1&cat=$2&name=$3&sub1=$4&sub2=$5 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([\(\)\|a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$   /index.php?ext=$1&cat=$2&name=$3&sub1=$4 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([\(\)\|a-zA-Z0-9_-]+)/?$     /index.php?ext=$1&cat=$2&name=$3 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$    /index.php?ext=$1&cat=$2 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/?$     /index.php?ext=$1 [L]  

然后你仍然可以使用$_GET['ext']; 以及循环而不是此循环的标记的链接:

<a href="www.site.com/index.php?do=true?when=now" >do stuf</a>
它会是这样的:

<a href="www.site.com/true/now" >do stuf</a>