【发布时间】:2016-06-22 23:10:20
【问题描述】:
我正在尝试在 .htaccess 文件中使用正则表达式匹配一个 url。
我可以使用“$”匹配字符串的结尾,但是当我尝试使用“^”匹配字符串的开头时,RewriteRule 停止工作。
这是我的 .htaccess 文件:
RewriteEngine On
RewriteBase "/"
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule "^example-url$" "index.php"
没有“^”,正则表达式可以工作,但是太松散了。我已经摆弄了几个小时了,但是我不确定还有什么可以尝试的,因为这个非常基本的正则表达式在我尝试过的每个正则表达式测试器中都有效。
我最好的猜测是它与字符串的实际开头有关,但我不确定如何测试它,因为它应该在顶级域名之后以“/”开头”。
编辑: 将 .htaccess 移动到 html 文件夹使我所有的问题都消失了,上面的 .htaccess 文件现在可以正常工作了。非常感谢@Riad Loukili 和@P0lT10n 的帮助。
我猜我的问题是由我的虚拟目录的设置方式引起的。
【问题讨论】:
标签: regex apache .htaccess mod-rewrite