php - 如何在 htaccess 中使用 get 变量(不同的顺序)
问题描述
我正在学习 PHP 和 HTACCESS atm。
我有一个问题,我使用 4 个不同的 GET 变量。x,y,z,w。
我需要创建一个两者都可以的 URL 结构。
mysite.com/x/y
但是也
mysite.com/x/z
和不同的其他组合。
我
我已经在 HTACCESS 中尝试过这个,但它只有在结构相同的情况下才有效,而不是与其他组合:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ index.php?x=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ index.php?x=$1&y=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ index.php?x=$1&y=$2&z=$3 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?x=$1&y=$2&z=$3&w=$4 [L]
解决方案
指定 [QSA](查询字符串追加),以便您可以在 url 之后传递查询字符串。
示例代码
RewriteEngine On
RewriteRule ^book/([^/]*)\.html$ book.php?title=$1 [QSA,L]
推荐阅读
- save - macOS 计算机中的 SwiftUI Catalyst App - 我应该使用哪个路径将图像保存在我的 Mac 本地磁盘中?
- excel - 将单元格的复制和范围作为具有定义宽度的图片锁定纵横比
- javascript - Vue CLI - 找不到 PostCSS 配置
- javascript - Ionic 5:VirtualScroll 和图像缓存
- c++ - 如何在应用程序运行时修改 QSerialPort 名称
- python - from django.urls import path ImportError: cannot import name path
- regex - Intellij Hotkey 用于在搜索/替换上标记正则表达式复选框
- python - 更改 django 模型管理员的可编辑字段的列名
- android - 如何限制编辑文本中的特定字符?
- c# - 将 ComboBox 的 DisplayMemberPath 绑定到字符串方法