Regex-mod_write-匹配字符后的字符串并作为get-vars运行


Regex - mod_rewrite - Match string after characters and run as get vars

我想通过"/-"找到并捕获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]

谢谢杰森的帮助!

相关文章: