当前位置:  开发笔记 > 编程语言 > 正文

是否允许PHP修改当前文件夹中的.htaccess文件?

如何解决《是否允许PHP修改当前文件夹中的.htaccess文件?》经验,为你挑选了2个好方法。

我有一个位于共享主机上的PHP Web应用程序.我的目标是在PHP页面运行时从PHP代码修改.htaccess文件.我需要.htaccess来插入几个mod_rewrite行.

问题是在Windows + Apache上我可以动态修改.htaccess文件,但当我尝试以任何方式访问此文件时,Linux上的相同代码报告问题(copy或fopen):

"failed to open stream: Permission denied"

我给了.htaccess文件777权限 - 仍然没有结果.什么阻止我这样做?我该如何开发解决方法?

PS我最初的目标是能够在.htaccess中添加一个新的RewriteRule,它将新添加的category_id映射到新的category_name.

如果它不是共享主机,我会使用类似RewriteMap(在主Apache配置中)并且能够访问地图文件.

这是我用PHP + Apache无法解决的第一个真正的限制,但我希望它也是可循环的.



1> Chad Birch..:

这似乎是一个过于复杂的解决方案,只需要一个通用的"加载类别"页面,该页面从URL中获取类别名称并加载相应的ID.

例如,如果URL是:

http://yoursite.com/category/programming

我会将其重新映射为:

http://yoursite.com/category.php?name=programming



2> Jasper..:

我想提出一些其他有用的建议.不是为每个"特殊"网址编写规则,为什么不为所有人使用一个?

我发现使用wordpress使用的内容要容易得多:每个url都被重定向到索引.

您所要做的就是,设置索引文件,读入已加载的目录(可能使用$ _SERVER ['URI_REQUEST']),然后处理它.

添加到.htaccess:


RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

感谢那个chunck,你可以随意使用一个系统.如果你想重新命名你的分类网址,或者添加另一个特殊情况,它已经准备好了!

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有