Mod rewrite mod_重写规则不起作用

Mod rewrite mod_重写规则不起作用,mod-rewrite,Mod Rewrite,这是对这一问题的后续行动: 我得到了这个重写规则: RewriteEngine On RewriteRule ^(http://[-A-Za-z0-9+&@#/%=~_|!:,.;]*)/([-A-Za-z0-9+&@#/%=~_|!:,.;]*)\?([A-Za-z0-9+&@#/%=~_|!:,.;]*)$ http://http://www.xmldomain.com/bla/$2?$3&rtype=xslt&xsl=$1/$2.xsl 这似乎是正

这是对这一问题的后续行动:

我得到了这个重写规则:

RewriteEngine On
RewriteRule ^(http://[-A-Za-z0-9+&@#/%=~_|!:,.;]*)/([-A-Za-z0-9+&@#/%=~_|!:,.;]*)\?([A-Za-z0-9+&@#/%=~_|!:,.;]*)$ http://http://www.xmldomain.com/bla/$2?$3&rtype=xslt&xsl=$1/$2.xsl
这似乎是正确的,正是我所需要的。但它在我的服务器上不工作。我得到一个404页未找到错误

mod_rewrite已启用,因为以下简单规则工作正常:

 RewriteEngine On
 RewriteRule ^page/([^/\.]+)/?$ index.php?page=$1 [L]
你能帮忙吗


谢谢,我相信这是不对的。不能将url用作重写规则的第一个操作数

你应该写什么而不是写什么

RewriteRule ^(http://[-A-Za-z0-9+&@#/%=~_|!:,.;]*)/([-A-Za-z0-9+&@#/%=~_|!:,.;]*)\?([A-Za-z0-9+&@#/%=~_|!:,.;]*)$ http://http://www.xmldomain.com/bla/$2?$3&rtype=xslt&xsl=$1/$2.xsl
is(编辑:出于某种原因,您希望匹配最后一部分路径,我将不胜感激)

还请注意,重写规则不会由虚拟主机自动继承。您必须显式激活继承。

也许可以试试这个

RewriteRule ^/(.+)/page/([^/]+)/(.*)$ domain/index.php?page=$2&host=%{HTTP_HOST} [QSA,NC,L]

可能是服务器故障问题。好的。但这并不能帮我解决问题。我需要分别捕捉最后一个斜杠(“页面”)后面的字符串。替代部分应该是这样的:http://www.xmldomain.com/bla/$2?rtype=xslt&xsl=http%3A%2F%2F%{http_HOST}%2F$1$2.xsl模式部分是如何做到这一点的?这是我的错,我提供了正则表达式。正则表达式是否对变量进行操作?@buggy1985好的,那么$1是什么?@artifact路径。看这里:@buggy1985我不明白。使用$1 match/path/to/,$2 match page并重写为$1$2与使用$1 match/path/to/page并重写为$1相同。但我还是要编辑答案
RewriteRule ^/(.+)/page/([^/]+)/(.*)$ domain/index.php?page=$2&host=%{HTTP_HOST} [QSA,NC,L]