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


How to hide query string from url using .htaccess?

以下是编辑表单的链接:

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

现在在update.php页面中,url如下所示:

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

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

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

如何使用.htaccess完成此操作?

注意:使用当前.htaccess规则,我只从url 中隐藏.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]

试试这个:更改链接:

<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]

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

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