php - Htaccess 通过 $_GET 参数重写 URL
问题描述
我一直在尝试通过在目录中显示 URL 来获得特定的结果。我已经引用了这个和这个帖子。我正在开发一个 PHP 项目。目前,我的带参数的 URL 如下:
https://subdomain.example.com/Dir/childDir/?id=12345
或者https://subdomain.example.com/Dir/childDir/index.php?id=12345
我正在寻找的结果是
https://subdomain.example.com/Dir/childDir/12345
我可以处理 PHP 中的错误处理(即强制参数,否则重定向),但 Htaccess 总是超出我的想象。目前,这是我的目录的 Htaccess。
RewriteEngine On
RewriteBase /
RewriteRule ^childDir\/([^/]+)(/([^/]+))?$ index.php?method=$1
======================================
编辑:已解决。谢谢@anubhava
RewriteEngine On
# rewrite /Dir/childDir/12345 to /Dir/childDir/index.php?id=12345
RewriteRule ^(\d+)/?$ index.php?id=$1 [L,QSA]
<? echo $_GET['id'] ?>
解决方案
您可以在您的Dir/childDir/.htaccess
:
RewriteEngine On
# rewrite /Dir/childDir/12345 to /Dir/childDir/index.php?id=12345
RewriteRule ^(\w+)/?$ index.php?id=$1 [L,QSA]
推荐阅读
- hibernate - 用户身份验证或验证
- xslt - XSLT 2.0:如果仅由标点分隔,则合并兄弟节点
- qr-code - 用于 QR 码的 Reed Solomon 纠错
- playframework-2.6 - 是否已弃用 Action 对象?它的替代品是什么
- c++ - 在主窗口中将 QVBoxLayout 设置为全尺寸,没有间距或边框
- autohotkey - 这个变量没有被赋值(一个全局变量)
- arrays - vlookup 和绝对引用以及 lastrow VBA 的问题
- kubernetes - 卷工作时日志中的“FindExpandablePluginBySpec err:没有卷插件匹配”消息
- angular - 将全局 NavigationExtras 添加到路由器的每个导航操作
- python - Peewee (Python Sqlite ORM) - NameError: name 'SqliteDatabase' is not defined