如何使用.htaccess从URL中删除?q =

时间:2016-12-31 20:07:28

标签: php apache .htaccess

我理解.htaccess网址重写问题已被多次询问,但我真的很难将这两件事情联合起来。

我的网站使用以下网址并执行通配符搜索

http://www.localhost:8888/exercises/exercise?q=overehead%20squat&

我使用以下规则删除所有%20空格,以便:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.*?)(?:\+|%20|\s)+(.+?)\sHTTP [NC]
RewriteRule ^ /%1-%2 [L,NE,R=302]

给予:http://www.localhost:8888/exercises/exercise?q=Overhead-Squat

我想做的最后一件事是删除?q =所以URL如下所示:

http://www.localhost:8888/exercises/exercise/overehead-squat

将其设为小写不是必需的,但这是理想的。

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

创建一个名为“excercise”的目录并将代码文件放入其中(将其命名为index.php),然后放置此.htaccess

RewriteEngine On
RewriteRule ^(.*) index\.php?q=$1