重写规则以将php Querystring转换为HTML



请帮助我编写正确的.htaccess代码以获得所需的结果。

我有以下页面:

www.mydomain.com/?exam=/hp-certification/

www.mydomain.com/?exam=/cisco-certification/

www.mydomain.com/?exam=/oracle-exam-prep/

www.mydomain.com/?exam=/faq/

www.mydomain.com/?exam=/support/

还有更多页面,但您可以注意到固定部分是:www.mydomain.com/?exam =

而不是使用查询字符串链接,我希望以下以上页面工作:

www.mydomain.com/hp-certification/

www.mydomain.com/cisco-certification/

www.mydomain.com/oracle-exam-prep/

www.mydomain.com/faq/

www.mydomain.com/support/

等等。

您的链接应该像此www.mydomain.com/?exam=hp-certification/一样,重写规则会在.htaccess文件中喜欢。

RewriteEngine On
RewriteRule ^([^/.]+)$ /?exam=$1 [L]

您可以使用.htaccess文件中的以下规则来做到这一点:

RewriteEngine On
RewriteCond %{QUERY_STRING} exam=(.+) [NC]
RewriteRule ^(.*)$ http://www.example.com/%1? [R=301,NC,L]

那么上述功能?

首先,它将以查询exam=为条件,如果满足此条件,则将使用(.+)

然后,它将使用301重定向重写URL以显示http://www.example.com/anything/%1的使用是从exam=获取变量,然后我们使用?阻止原始查询字符串出现在新重写URL的末尾。

确保在测试此之前清除缓存

最新更新