我希望通过“/ - ”找到并捕获网址,然后在前一页上将结果查找作为单个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]
但是没有成功返回正确的get var。这会产生:
http://domain.com/?get=about-us/contact/-foo/-bar
非常感谢任何帮助!
答案 0 :(得分:1)
您正在匹配RewriteRule
中的整个网址,而是将其分解为基础和其他网址,因为您已使用RewriteCond
预先确定了网址格式:
RewriteCond %{REQUEST_URI} (\/-.*)
RewriteRule ^(.*?)(\/-.*)$ $1?get=$2 [L]
注意:如果没有RewriteRule
,还有其他方法可以做到这一点。但是,这与您当前的代码非常相似。
答案 1 :(得分:0)
好的,我发现了重定向与重写的问题。基本上我需要确保将文件放在index.php
。
RewriteCond %{REQUEST_URI} (\/-.*)
RewriteRule ^(.*?)(\/-.*)$ $1/index.php?get=$2 [L]
谢谢Jason的帮助!