创建 ReWrite Rule 后传递参数

有谁知道如何在创建重写规则后阻止变量丢失?放入 [QSA] 会给我一条服务器 500 错误消息

我想要这个规则

RewriteRule ^family-name/([^/.]+)/([^/.]+)$ family-name.php?familyName=$1&token=$2 [L]

这在我得到的意义上有效

family-name.php/somthing/token

但是,当我去$_GET['familyName']或令牌时,它返回空白。为什么?

笔记。ReWrite 规则在我的 .htaccess 页面中

更新:

我已将我的代码缩减为:

RewriteEngine On

RewriteRule ^my-family/family-name/([a-z]+)/([a-z0-9]+)$ my-family/family- name.php?familyName=$1&token=$2 [QSA,L,NC]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+?)$ $1.php [NC,L]

我的参数仅在本地传递到下一页,而不是在上传到我的实时站点时。有什么想法吗???


蛊毒传说
浏览 115回答 1
1回答

红糖糍粑

您应该打开页面(使用您的域名)。http://example.com/family-name/something/token并使用$_GET['token'], not调用您的参数$_SESSION['token']。如果你RewriteRule想要http://example.com/family-name.php/something/token你应该有:RewriteRule ^family-name.php/([^/.]+)/([^/.]+)$ family-name.php?familyName=$1&token=$2 [L]
打开App,查看更多内容
随时随地看视频慕课网APP