场合
我的文件名称为
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
extension=php_shmop.dll
extension=php_pdo_sqlsrv_55_ts.dll
extension=php_dblib.dll
(bla.php?id=1
不存在)包含纯HTML代码(例如,当您使用wget镜像网站时会发生这种情况)。
目标
访问
时bla.php
它应该从静态文件domain.com/bla.php?id=1
而不是bla.php?id=1
提供,并将查询字符串附加到它。使用十六进制的问号,即。 bla.php
,但随后网址会发生变化而不会发生变化。
问题
我提出的解决方案是通过.htaccess在内部将URL中的问号重写为十六进制,到目前为止,我无法正常工作。如果有人有更好的想法达到从静态文件提供包含查询字符串的URL的目标,那将非常感激。以下是我没有运气的尝试:
domain.com/bla.php%3Fid=1
答案 0 :(得分:0)
We have a solution for this, Please try the below code.
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteCond %{QUERY_STRING} !=""
RewriteRule ^(.*) /$1\%3F%{QUERY_STRING}