2

我希望通过“/-”查找和捕获 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]

但是未能成功返回正确的 get var。这产生:

http://domain.com/?get=about-us/contact/-foo/-bar

任何帮助将非常感激!

4

2 回答 2

1

您正在匹配 中的整个 URL RewriteRule,而是将其分解为基础和其余部分,因为您已经使用以下方式预先确定了 URL 格式RewriteCond

RewriteCond %{REQUEST_URI} (\/-.*)
RewriteRule ^(.*?)(\/-.*)$ $1?get=$2 [L]

注意:还有其他方法可以在没有RewriteRule. 但是,这与您当前的代码最相似。

于 2013-07-11T19:00:15.163 回答
0

好的,我发现了重定向与重写的问题。基本上我需要确保并将文件放入index.php.

RewriteCond %{REQUEST_URI} (\/-.*)
RewriteRule ^(.*?)(\/-.*)$ $1/index.php?get=$2 [L]

谢谢,杰森的帮助!

于 2013-07-18T21:58:05.007 回答