就在我以为我开始理解 mod rewrite 的时候,我发现了两个问题,虽然不同,但我怀疑其原因相同。我将它们分开发布 - 这是第一个问题:
我有一个本地主机站点。所有文件(包括 .htaccess)都在同一个目录中。
我有这个规则:
RewriteRule ^mytest/([A-Za-z0-9-]+)/?$ companies.php?page=$1 [L]
我有一个菜单链接:
<a href="mytest/ibm" title="My test.... etc.
当我点击我连接到的链接时:
localhost/Mysite/mytest/ibm
它对应于包含 IBM 信息的公司.php 页面。到目前为止,一切都很好。问题是,当我在“mytest”页面中并将鼠标悬停在我看到的同一个菜单链接上时:
localhost/Mysite/mytest/mytest/ibm
这当然会导致 404 错误。
问题是:这个额外的“mytest”来自哪里?
我已经在所有意义上修改了规则(或者至少在我看来我有)但没有成功。我没有忽略一些简单的事情——但究竟是什么?