我正在尝试将URL作为mod-rewrite中的参数传递。我想我的正则表达式存在问题。这是我的.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule **^go/((http:\/\/)+[A-Za-z0-9\-]+[\.A-Za-z])/?$** feedmini.php?url=$1 [L]
</IfModule>
我要传递的网址类似于 http://www.aaaa.com/aaa/?q=v ,但是当我尝试在go / http://www.aaaa.com/aaa/?q=v上尝试访问该网址时我得到一个404错误页面。我也试过了**^go/([A-Za-z0-9\-\/:]+[\.A-Za-z]+)/?$**
但是我传递的URL是这样的:http:/www.aaaa.com/aaa/(在'http:'之后观察singel'/');
任何想法?
提前致谢 / ALE
答案 0 :(得分:1)
你的第一个问题(在你的第一个代码块中)是你的正则表达式模式与URL不匹配,因为它只匹配以http://开头的字符串,然后只包含字母或短划线,以字母结尾单一的续站或信件。也许这只是一个拼写错误,那里应该有一个量词,但即使这样也不会匹配很大的百分比或URL。
这看起来有点奇怪,但试试这个......
RewriteRule ^go/http:/(.*)/?$ feedmini.php?url=http://$1 [R=302,L]