我正在尝试从URL中删除?id=
,并将?id=
替换为斜线(/
)。
我想显示地址:
http://localhost/new/view-seller?id=534f5ddbdd
如:
http://localhost/new/view-seller/534f5ddbdd
我已设法从URL中删除.php
,但?id=
仍有问题
原始链接与?id=
可访问。当我导航到没有?id=
的页面,我得到:错误:您所请求的网址(URL)未找到
有人知道我该怎么修吗?
下面是我的.htaccess
:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
1条答案
按热度按时间uwopmtnx1#
您需要在 root
.htaccess
文件中执行类似以下的操作:以上代码将把
/<file>/<id>
重写为/<file>.php?id=<id>
,前提是/<file>.php
存在。<file>
可以由多个路径段组成(例如,示例中的new/view-seller
)。这里假设
<id>
是字母数字小写的,如果是十六进制的,那么正则表达式应该相应地做得更具体。而且,如果这应该只适用于
view-seller
,那么正则表达式应该再次变得更具体。如果您需要将此规则与通用的“append
.php
“规则结合使用,则应首先使用上述规则。例如:规则#2基本上与原始规则相同,只是原始规则有几个问题(次要问题,但目录检查在这里是多余的)。