gpt4 book ai didi

php - htaccess GET 查询冲突

转载 作者:搜寻专家 更新时间:2023-10-31 20:37:43 25 4
gpt4 key购买 nike

我在服务器上设置了一个通配符子域,以将子域作为变量获取。这非常适合根目录。现在,我有一个子目录,我需要它也可以工作。但是当我将查询字符串附加到该子域时,问题就出现了。我的 .htaccess 在子目录 example.com/student 中:

<IfModule mod_rewrite.c>
Options -Indexes
Options +FollowSymlinks
RewriteEngine On

RewriteCond %{HTTP_HOST} !^([w]{3,3}[.]{1,1}){0,1}example.com$
RewriteCond %{HTTP_HOST} ^([0-9a-zA-Z-]*)[.]example.com$
RewriteRule ^MyCourse.php$ MyCourse.php?pageDetailId=%1 [L]

RewriteCond %{HTTP_HOST} !^([w]{3,3}[.]{1,1}){0,1}example.com$
RewriteCond %{HTTP_HOST} ^([0-9a-zA-Z-]*)[.]example.com$
RewriteRule ^MyExam.php?courseId=(0-9+)$ MyExam.php?pageDetailId=%1&courseId=$1 [L]
</IfModule>

MyCourse.php 工作正常,当然我没有向其附加任何查询字符串,但 MyExam.php 需要一个强制性的 GET 查询字符串作为 courseId。因此,无论我做什么,我要么获得子域 (pageDetailId) 要么获得 courseId,但永远不会同时获得两者。此外,如果有一种通用方法可以获取子目录所有文件中的子域变量,我将不胜感激。

最佳答案

在这部分规则中,只需添加QSA 标志,如果存在,它将发送查询字符串。您不必将其添加到规则中。

RewriteCond %{HTTP_HOST} !^([w]{3,3}[.]{1,1}){0,1}example.com$
RewriteCond %{HTTP_HOST} ^([0-9a-zA-Z-]*)[.]example.com$
RewriteRule ^MyExam.php$ MyExam.php?pageDetailId=%1 [QSA,L]

http://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_qsa

关于php - htaccess GET 查询冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31017213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com