.htaccess - 当url在htaccess中包含问号时如何强制rerection?
问题描述
我有一个网址:
www.domain.com/PageName:ArgumentValue1,ArgumentValue2
我想重定向到
www.domain.com/apex/f?p=alias:PageName:ArgumentValue1,ArgumentValue2
到目前为止我已经做了:
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule (.*)$ ./apex/f?p=alias:$1 [L]
重定向正常工作,除非 Argumentvalue 有问号。
即使参数中有问号,是否有任何方法可以强制进行这种重定向?
PageName、ArgumentValue1 和 ArgumentValue2 都是动态变量。
谢谢。
解决方案
您可以这样使用您的规则:
# no query string
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ apex/f?p=alias:$1 [L]
# with query string
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} .
RewriteRule ^(.*)$ apex/f?p=alias:$1\?%{QUERY_STRING} [L]
但是请注意,如果您想?
根据 REQUEST_URI 进行捕获,则应将其编码为%3f
. 所以例如AA?BB
将用作AA%3FBB
推荐阅读
- amazon-web-services - s3 sorage类中最小存储持续时间是什么意思?
- postgresql - 如何从 postgresql 中的函数获取返回表动态结果
- linux - SElinux 从 audit.log 生成模块或启用布尔值?
- android - 如何生成正确的字符串以通过 Gson 在 Kotlin 中进行转换?
- tensorflow - Keras 中的validation_accuracy 和validation_binary_accuracy 之间的差距很大
- android - 应用找不到手机蓝牙设备
- sql-server - T-SQL OPENXML 没有结果
- java - 使休眠保存自定义的 cgproxy 值
- azure - AKS 版本升级错误:操作失败,状态为:“冲突”。详细信息:集群处于故障状态时不允许升级
- ibm-mq - 如何从 IBM ACE MQ 修改核心文件