我想通过"/-"找到并捕获url,并在前一页上作为单个get-var运行结果查找:
http://domain.com/about-us/contact/-foo/-bar
将运行为:
http://domain.com/about-us/contact/?get=/-foo/-bar
我可以找到匹配:
RewriteCond %{REQUEST_URI} ('/-.*)
RewriteRule ^(.*)$ ?get=$1 [L]
但一直未能成功返回正确的获取变量。这产生了:
http://domain.com/?get=about-us/contact/-foo/-bar
任何帮助都将不胜感激!
您正在匹配RewriteRule
中的整个URL,而不是将其分解为基本URL和其余URL,因为您已经使用RewriteCond
:预先确定了URL格式
RewriteCond %{REQUEST_URI} ('/-.*)
RewriteRule ^(.*?)('/-.*)$ $1?get=$2 [L]
注意:在没有RewriteRule
的情况下,还有其他方法可以做到这一点。不过,这与您当前的代码最为相似。
好的,我发现了重定向与重写的问题。基本上,我需要确保并将文件放在index.php
中。
RewriteCond %{REQUEST_URI} ('/-.*)
RewriteRule ^(.*?)('/-.*)$ $1/index.php?get=$2 [L]
谢谢杰森的帮助!