我在 Mod-Rewrite 命令中使用以下 RegEx,但不希望 $1 变量捕获包含 .html 扩展名。
RewriteRule ^photo-search\/([^/]+)(/|\.html|)$ http://www.artminds.com/cgi-bin/ImageFolio4/imageFolio.cgi\?search=$1&bool\=all [H=cgi-script]
此命令的工作方式与以下 URL的
预期完全相同 http://www.artminds.com/photo-search/outdoors/也只捕获了“户外”这个词,并在我的重写代码中插入它而没有尾部斜杠。
但是如果有人输入 /photo-search/outdoors.html 文件扩展名 .html 会包含在重写代码中,这会触发软 404,因为 Outdoors.html 正在传递给 cgi 脚本,当然它不会查找以 .html 结尾的关键字。
我尝试了各种选项,但我的错误日志要么显示未找到文件,要么仅通过“照片搜索”而不是“照片搜索”之后的部分。
提前致谢。
艺术心灵
加州帕萨迪纳