我有一个显示资产的页面,当用户单击特定资产的链接时,它将加载一个新页面,该页面显示该资产的所有数据。
在浏览器的网址栏中,它显示如下:
https://www.mywebsite.com/dashboard/asset_items/edit/index.php?
getid=2121
我想使地址栏不显示...
index.php?getid=2121
而是显示类似以下内容:
https://www.mywebsite.com/dashboard/asset_items/edit/
或者也许:
https://www.mywebsite.com/dashboard/asset_items/edit/2121
重点是不显示
index.php?getid=
我尝试了许多不同的示例,包括使用.htaccess重写代码。我已成功删除:
index.php
来自url地址栏中显示的内容,但仍然显示如下:
https://www.mywebsite.com/dashboard/asset_items/edit/?getid=2121
这是我在不同页面和.htaccess中的内容
在asset_items / index.php中,我有以下一行,这是将用户带到显示该特定资产数据的页面的链接...
<a href="edit/index.php?getid=' . $row['assetid'] . '">' .
$row['assetid'] . '</a>
在asset_items / edit / index.php中,我具有以下内容,其从上一页中获取了资产ID ...
$current_asset = '"' . $_GET['getid'] . '"';
$sql = 'SELECT * FROM assets u
LEFT JOIN assets_assetcategory ur ON u.assetid = ur.assets_id
LEFT JOIN asset_category r ON ur.asset_category_id = r.id
WHERE r.name = r.name AND u.assetid =' . $current_asset .'';
// loop through results of database query, displaying them in
the table
foreach ($db->query($sql) as $row) {....
在.htacess中,我有以下内容。...
Options -Indexes
RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) $1/$2 [R=301,NE,L]
因此,以上所述,一切正常,并且从URL地址栏中显示的内容中删除了index.php,但是
?getid=2121
仍然显示。当然,2121不是唯一的资产,只是我在此示例中使用的资产。
最终目标是,对于从asset_items / index.php页面上单击的任何资产,应该显示asset_items / edit / index.php,但网址浏览器不应显示完整网址的结尾包含
index.php?getid=****