【发布时间】:2022-12-04 08:50:25
【问题描述】:
RewriteRule ^cards/([^/]*)/([^/]*)$ /cards/?name=$1&page=$2 [L]
你好。我的 .htaccess 中有这个。如果我将 ?extra=1 添加到 url 的末尾,然后添加 var_dump,它不会读取 $_GET['extra']; 有没有有效的标志?
我看到 here 一些额外的标志,但在这种特殊情况下似乎没有任何用处。
【问题讨论】:
-
你不需要执行任何魔法来实现你的要求。那应该开箱即用。如果它对您不起作用,则必须有其他原因。要么没有应用规则,要么应用没有参数的旧版本规则,要么在读取值时出错,要么正在查看缓存的结果。
-
@arkascha 1) 规则确实得到应用,否则我将无法看到页面 2) 我在 .htaccess 中没有看到任何其他“^cards”规则 3) 我 var_dump'd $_GET,我没有知道还能做什么 4) 缓存不会成为问题,因为页面会更新其他所有内容,而且我每次都在按 Ctrl+F5。在另一个浏览器上试过,但没有。我还有其他几条规则。这是一个摘要:ErrorDocument 404 RewriteBase / RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301,NE] ExpiresActive On AddOutputFilterByType DEFLATE AddType 文本/缓存清单 .appcache
-
我能提供的不多了。也许您想启用重写日志记录。这允许详细了解重写引擎内部发生的事情。
标签: .htaccess