我需要一些关于正则表达式和Apache重写的帮助,我还没有理解正则表达式模式,我看到很多以前关于在php中做类似事情的问题(我知道了很多),但我不能似乎将其转换为重写规则。
我曾经在我的摄影网站上使用Smugmug,然后我就自己做了,Smugmug在每个网址的末尾添加了一些随机字母,使其更加"private"
,就像这样"Blog/Jenny-Easter-Pictures/i-nbRcmgv"
我保留了相同的文件夹结构,除了随机字符,因此,谷歌,可能还有我的旧旧客户端因为找到"i-nbRcmgv"
文件夹而找不到错误
我希望apache删除url中"/i-"
之后的所有内容,需要包含斜杠,以防我有一个文件夹名称,当然还有i-。 / p>
听起来可能很容易,但就像我说的那样,正则表达式让我感到困惑,我不会用它来学习它并记住下一次哈哈。
我的conf中已经有类似的东西了,所以我对如何做有一个大概的想法,但是我在本网站上从其他人的回答问题中复制了它。
RewriteRule ^/downloads/(.*)/$ /download.php?DIR=$1 [QSA]
答案 0 :(得分:1)
你需要像
这样的东西RewriteEngine on
RewriteRule ^(.*)/i-.* $1 [QSD]
如果要在"?"之后保留查询部分,请删除[QSD]。在网址中(例如Blog/Jenny-Easter-Pictures/i-nbRcmg?a=b
应该成为Blog/Jenny-Easter-Pictures?a=b
)