我有以下.htaccess
文件:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/command
RewriteRule .* /command/rewritehandler.php?q=%{REQUEST_URI} [B]
请参阅当前未回答问题的规格https://stackoverflow.com/questions/29376788/mod-rewrite-directives-and-valid-invalid-utf-8-characters-after-first-character。如果请求服务器以下/aaa%23%23aa
,则rewritehandler.php
仅接收/aaa
。看起来REQUEST_URI
只处理%23
之前的数据。我应该键入什么?
从RewriteCond
捕获值,然后使用反向引用使其工作:
RewriteEngine On
RewriteCond %{REQUEST_URI} (.+)
RewriteRule !^command/ /command/rewritehandler.php?q=%1 [NC,B,L,QSA]