0

我已经使用这个 Apache Rewrite Rule 有一段时间了,它通常会给我很好的结果:

RewriteRule ^([^\.]+)/?$ index.php?$1 [L]

当用户访问www.mysite.com/about-us时,服务器显示来自的内容www.mysite.com/index.php?about-us。内容存储在数据库中,我使用查询字符串('about-us')搜索每个页面的内容。直到最近,这一切都很好。

我正在构建的一个新站点有一个目录(我们将其称为“文件夹”),它与我想要的查询字符串名称相同——也就是说,不是在newsite.com/folder目录中查找索引文件,而是www.newsite.com/folder应该通过index.php并使用“文件夹”作为搜索参数。相反,我得到了这个:

www.newsite.com/folder/?folder

其中我的代码将查询字符串解释为“文件夹/”。所以第一个问题是 URL 看起来很奇怪;第二个问题是我的页面存储时没有任何尾部斜杠。

当然,我可以在收到查询字符串后调整我的代码以去掉任何斜杠,但这可能会使创建模拟文件夹结构的 URL 变得更具挑战性,例如www.newsite.com/user/images/month. 它仍然无法摆脱我已经拥有的时髦 URL。

我怀疑有一个简单的解决方案可以使我的 URL 更漂亮,并防止服务器在我的目录中查找文件(除非用户明确要求提供 html 或 php 文件)。感谢您的输入。

4

1 回答 1

0

将“DirectorySlash Off”添加到“.htaccess”文件的开头

我遇到了同样的问题,发现了一个类似的帖子,它只是引用了 DirectorySlash 文档(http://httpd.apache.org/docs/2.2/mod/mod_dir.html

于 2013-04-05T07:30:34.450 回答