【发布时间】:2015-02-04 13:53:53
【问题描述】:
我正在尝试在一个URL中发送一个URL,中间有ModRewrite。
这是重写规则。它用于搜索用户的个人资料。
RewriteEngine On
RewriteRule ^(query)/(profile)/([a-z0-9:.()\-\ ]+)/?$ search/index.php?scope=$2&query=$3 [NC,L]
这是网址
http://www.example.com/query/profile/http://www.facebook.com/example
无论我如何执行重写规则,我都会不断收到 NetworkError: 500 Internal Server Error 或 NetworkError: 404 Not Found(如果这是我放在那里的 URL)。
我怎样才能正确地做到这一点?我使用的是 Windows 7 家庭高级版。我错过了什么吗?
上面的 URL 是使用 ajax 传递的。
编辑:
#htaccess in site1 folder
RewriteRule ^resources/?(.*)/?$ /control/$1 [NC,L]
#htaccess in control folder
RewriteRule ^(query)/(profile)/([a-z0-9:.()\-\ ]+)/?$ search/index.php?scope=$2&query=$3 [NC,L]
next folder is `search` which has `index.php`
URL used
http://www.example.com/resources/query/profile/http://www.facebook.com/example
编辑:
我像下面那样重新编写了 RewriteRule,现在没有收到任何错误消息,但 Apache 似乎在 http:// 之后的 URL 中删除了一个 /。所以我只得到http:/www.facebook.com/example。任何帮助将不胜感激。
RewriteRule ^(query)/(profile)/([a-z0-9\/:.()\-\ ]+)/?$ search/index.php?scope=$2&query=$3 [NC,L]`
【问题讨论】:
-
你能从你想重写的网址发帖到什么网址吗?
标签: apache .htaccess mod-rewrite