Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 重写规则查找目录并将路径重写为';目录/?目录';_Regex_Url_Mod Rewrite_Url Rewriting_Directory - Fatal编程技术网

Regex 重写规则查找目录并将路径重写为';目录/?目录';

Regex 重写规则查找目录并将路径重写为';目录/?目录';,regex,url,mod-rewrite,url-rewriting,directory,Regex,Url,Mod Rewrite,Url Rewriting,Directory,我已经使用这个Apache重写规则一段时间了,它通常会给我带来很好的结果: RewriteRule ^([^\.]+)/?$ index.php?$1 [L] 当用户访问www.mysite.com/about us时,服务器会显示www.mysite.com/index.php?about us中的内容。内容存储在数据库中,我使用查询字符串('about-us')搜索每个页面的内容。直到最近,这一切都很顺利 我正在构建的一个新站点有一个目录(我们称之为“文件夹”),该目录与我希望查询字符串的

我已经使用这个Apache重写规则一段时间了,它通常会给我带来很好的结果:

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
路由,并使用“folder”作为搜索参数。相反,我得到的是:

www.newsite.com/folder/?folder
其中我的代码将查询字符串解释为“folder/”。所以第一个问题是URL看起来很奇怪;第二个问题是,我的页面存储时没有任何斜杠

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

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

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


我也遇到了同样的问题,并找到了一篇类似的文章,它只是引用了DirectorySlash文档()

谢谢!工作起来很有魅力。我会确保mod_自动索引处于关闭状态。