【发布时间】:2016-03-03 11:43:37
【问题描述】:
我正在尝试实现一个重写规则,我需要有人帮助来完成..
这是我的要求..
HTTPS://{domain}/contextPath/browse //should transformed to
HTTPS://{domain}/contextPath?dl=browse
另一个样本..
HTTPS://{domain}/contextPath/login //should transformed to
HTTPS://{domain}/contextPath?dl=login
当我尝试使用此规则时,我收到了太多重定向错误..
RewriteRule ^/contextPath/(*) ^/contextPath?dl=$1 [R,L]
你能帮我解决这个问题吗
- [03/Mar/2016:20:40:38 -0600] "GET /contextPath/loginall HTTP/1.1" 404 983 [Thu Mar 03 20:40:38.809774 2016] [rewrite:trace2] [pid 20144:tid 47425062725952] mod_rewrite.c(468): [rid#1ab7ae90/initial] init rewrite engine with requested uri /contextPath/loginall [Thu Mar 03 20:40:38.809805 2016] [rewrite:trace2] [pid 20144:tid 47425062725952] mod_rewrite.c(468): [rid#1ab7ae90/initial] rewrite '/contextPath/loginall' -> '/contextPath?dl=loginall' [Thu Mar 03 20:40:38.809821 2016] [rewrite:trace2] [pid 20144:tid 47425062725952] mod_rewrite.c(468): [rid#1ab7ae90/initial] local path result: /contextPath [Thu Mar 03 20:40:38.809877 2016] [rewrite:trace2] [pid 20144:tid 47425062725952] mod_rewrite.c(468): [rid#1ab7ae90/initial] prefixed with document_root to /apps/install/apache/httpd/htdocs_browser/contextPath [Thu Mar 03 20:40:38.809891 2016] [rewrite:trace1] [pid 20144:tid 47425062725952] mod_rewrite.c(468): [rid#1ab7ae90/initial] go-ahead with /apps/install/apache/httpd/htdocs_browser/contextPath [OK] [03/Mar/2016:20:40:38 -0600] 172.17.130.161 TLSv1.2 RC4-SHA "GET /contextPath/loginall HTTP/1.1" 983
【问题讨论】:
-
为什么^在目标路径中?
-
对于域名来说,是不是必须的。
-
你的 .htaccess 文件中有
RewriteRule指令吗? (其实我看到.htaccess标签后面已经添加到问题中了,但是你的RewriteRule模式在.htaccess中不匹配。) -
不,我在 .htaccess 中没有任何相关内容,并且不确定该标签是如何添加到我的问题中的。
标签: apache redirect mod-rewrite parameters