【发布时间】:2021-09-07 07:28:08
【问题描述】:
我的重写规则有问题。 我有下面的重写代码
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^subcategory/([0-9a-zA-Z_-]+) child-category.php?cat=$1 [NC,L,QSA]
RewriteRule ^([^\.]+?)/?$ $1.php [NC,L]
效果很好,但是当我在子文件夹 doctor 中添加 child-category.php 并尝试访问该文件时它不起作用。
http://localhost:8888/community/doctor/subcategory/health -> 不起作用
http://localhost:8888/community/subcategory/health -> 工作正常。
它应该在子文件夹中也可以工作,任何人都可以看到任何明显的为什么它不工作吗?
【问题讨论】:
-
^在开头锚定您的正则表达式模式 -^subcategory/...仅允许 以subcategory/开头的路径。subcategory/health是这样,doctor/subcategory/health不是。
标签: regex apache .htaccess mod-rewrite url-rewriting