如何使用重写规则将`.php`替换为`/`

时间:2012-12-09 22:13:08

标签: regex .htaccess mod-rewrite

如何使用重写规则将.php替换为/

例如:

search.php?k=backgroundsearch/?k=background

到目前为止我所拥有的是:

RewriteRule ^search/?k=([a-zA-Z0-9_-]+)$ search.php/?k=$1

3 个答案:

答案 0 :(得分:2)

这是另一种选择:

RewriteEngine On
RewriteBase / 
#Rule applies only when the script is search.php
RewriteCond %{REQUEST_URI} ^.*search\.php.*$
#Query will be automatically appended to search/
RewriteRule .* http://mydomain.com/search/ [L]

将重定向:

http://mydomain.com/search.php?k=background

http://mydomain.com/search/?k=background

答案 1 :(得分:1)

试试这个:

RewriteRule ^(.*)\.php(.*)$ $1/$2

答案 2 :(得分:1)

您需要从重写规则中删除查询字符串,该字符串会自动附加:

RewriteRule ^search/?$ search.php [L]