如何使用.htaccess从URL隐藏查询字符串?

时间:2016-07-23 09:22:39

标签: php apache .htaccess mod-rewrite

以下是编辑表单的链接:

<a class="btn btn-success btn-xs" href="<?php echo SITE_URL."update?z=$zone_id" ?>" >Edit</a>

现在在update.php页面中,网址如下:

http://localhost/aponit/dev/update?z=55

现在我想要url应该像下面那样:

http://localhost/aponit/dev/update/55

如何使用.htaccess执行此操作?

注意:使用当前的.htaccess规则我只是隐藏了来自网址的.php扩展名

我当前的.htaccess文件

ErrorDocument 404 /not-found.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
RewriteRule ^aponit/dev/update/([0-9]+) aponit/dev/update.php?z=$1 [L]

2 个答案:

答案 0 :(得分:0)

试试这个: 更改链接:

<a href="http://localhost/aponit/dev/update/<?php echo $zone_id ?>" >Edit</a>

使用代码更新.htaccess

RewriteEngine on
RewriteRule ^aponit/dev/update/([0-9]+) aponit/dev/update.php?z=$1 [L]

希望对你有用:)

更新.htaccess:

ErrorDocument 404 /not-found.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
RewriteRule ^aponit/dev/update/([0-9]+) aponit/dev/update.php?z=$1 [L]

答案 1 :(得分:0)

尝试在.htaccess中使用此规则。在此之前,请确保已清除浏览器缓存,并将规则置于.htaccess的顶部。

RewriteEngine On
RewriteRule ^aponit/dev/update/([^/]*)$ /aponit/dev/update?z=$1 [L]