为了账号安全,请及时绑定邮箱和手机立即绑定

带有 $_GET 方法的漂亮 URL

带有 $_GET 方法的漂亮 URL

PHP
幕布斯6054654 2021-11-26 16:29:49
我是编码新手,因此将不胜感激额外的解释。到目前为止,我能够使用我的 htaccess 文件删除文件扩展名。Options -MultiViewsRewriteEngine on# Does not apply to existing directories, if directory exist then don't run the ruleRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME}\.php -fRewriteRule ^(.*)$ $1.php [NC,L]在“仪表板”目录中,我有另一个 index.php(仅对登录的用户显示)。在索引中,我有一个 $_GET 方法来检索用户的状态。因此,当我访问 localhost/project/dashboard/ 时,我可以查看 index.php。当我想使用 GET 方法时,我的 url 将类似于 localhost/project/dashboard/?status=active,我试图将其更改为 localhost/project/dashboard/active 或 localhost/project/dashboard/status/active。我在本地主机环境中工作,我的目录是这样分解的。MAIN- includes- dashboard|-- subfolder|-- somefile.php|-- index.php- cssindex.phplogin.phplogout.php.htaccess ** (this is the file im working with)我正在使用 URL:http://localhost/project/dashboard/active我尝试将以下几行添加到我的 .htaccess1.RewriteRule ^([a-zA-Z]+)/?$ /?status=$1 [NC,L,QSA] - doesn't work未找到对象!错误 4042.RewriteRule ^dashboard/([a-zA-Z]+)/?$ /?status=$1 [NC,L,QSA] - doesn't work重定向到本地主机/仪表板3.如果我在“仪表板”目录中创建另一个 .htaccess 并使用 write 1 lineRewriteRule ^([a-zA-Z]+)/?$ index.php?status=$1 [NC,L,QSA] - WORKS但是,当使用第三种方法时,我无法访问仪表板中的子文件夹或其文件。因此,如果我尝试访问 localhost/project/dashboard/subfolder/somefile,它会返回“找不到对象!” 错误 404如果我尝试访问 localhost/project/dashboard/subfolder/somefile.php 它会重定向到 localhost/project/dashboard/以后会有更多的文件夹和子文件夹。
查看完整描述

2 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

尝试

RewriteRule ^project/dashboard/(.*)$ project/dashboard/?status=$1 [L]


查看完整回答
反对 回复 2021-11-26
?
SMILET

TA贡献1796条经验 获得超4个赞

阅读汉娜的建议后,我调整了文件路径。

RewriteRule ^dashboard/([a-zA-Z]+)/?$ dashboard/?status=$1 [NC,L,QSA]

这似乎可以解决问题!


查看完整回答
反对 回复 2021-11-26
  • 2 回答
  • 0 关注
  • 231 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信