【发布时间】:2022-01-30 20:29:59
【问题描述】:
我正在尝试重定向
"/w/index.php?title=TITLE_HERE&oldid=100"
到
"/wiki/TITLE_HERE.php".
我尝试了几件事,但根据我的研究,以下 RedirectMatch 应该可以工作。我读了很多关于在 Apache 中以不同方式重写的内容。当然,问题在于它不起作用。我访问时根本没有重定向
"/w/index.php?title=Example_Article&oldid=100".
这就是我正在尝试的:
RedirectMatch "^/w/index\.php?title=([^&]+)" "/wiki/$1.php"
我还有许多其他有效的重定向/重写规则。我不明白为什么这个不起作用。
我尝试了使用和不使用引号。我还尝试在末尾添加“.*$”,以防需要完全匹配,但没有运气。
字符类 [^&] 表示任何不是“&”的字符的一个实例。然后我想要一个或多个带有“+”量词的那些(当然是贪婪匹配)。这应该使它去掉“&oldid=100”并使事情变得顺利。但重定向甚至没有触发。
我还尝试了“(.+)”来查看是否不支持否定的正则表达式字符类,但也没有重定向。
顺便说一句,我的网站不是 wiki。它曾经是。现在它是静态 HTML。这就是重定向有益的原因。我知道您可以在 MediaWiki 中以不同的方式重写 URL。
(这是我的第一个 Stack Overflow 问题,请耐心等待。)
【问题讨论】:
-
欢迎来到 SO,感谢您分享您的努力,如果您在浏览器中点击如下链接,请确认一下:
http://localhost:80/w/index.php?title=TITLE_HERE&oldid=100? -
嗨。谢谢。我正在尝试的链接是example.com/w/index.php?title=Article_Title&oldid=1459
标签: apache mod-rewrite