我想输入localhost / expl / admin / add-edit-category /并使其处理localhost / expl / admin / add-edit-category.php
以下.htaccess 在两个不同的生产服务器上均可正常运行,但在本地主机(Wampserver 3.1.3,Apache 2.4.33,PHP 7.1.16)上生成404
RewriteBase /expl/
RewriteRule ^admin/([A-Za-z0-9-]+)/?$ /expl/admin/$1\.php [QSA,NC,L]
但是,如果我做这样的事情,那么在Wampserver上就可以了:
输入:localhost / expl / dummy-dir / admin / add-edit-category /
RewriteRule ^([A-Za-z0-9-]+)/admin/([A-Za-z0-9-]+)/?$ /expl/admin/$2\.php?dir=$1 [QSA,NC,L]
它将很好地读取变量,并且一切正常。那么为什么第一种情况会失败?
另一个相关问题(导致“重定向过多”错误)是localhost已允许输入不带文件扩展名的URI,例如地址栏中的localhost / expl / admin / add-edit-category处理localhost / expl / admin / add-edit-category.php,但我不希望这样做(这不是生产服务器上的工作方式)并且我需要在本地计算机上保持一致)。我在Wampserver中找不到导致此问题的任何设置,因此可以将其删除。