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

标签 php apache .htaccess mod-rewrite permissions

我在共享主机 上有一个 PHP 网络应用程序。 我的目标是在 PHP 页面运行时从 PHP 代码修改 .htaccess 文件。 我需要 .htaccess 向其中插入几行 mod_rewrite。

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

“无法打开流:权限被拒绝”

我已经给 .htaccess 文件 777 权限 - 仍然没有结果。 是什么阻止我这样做?我该如何制定解决方法?

附言 我最初的目标是能够将一个新的 RewriteRule 添加到映射一个 新添加的 category_id 和新的 category_name。

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

这是我无法使用 PHP+Apache 解决的第一个真正的限制,但我希望它也是可以绕过的。

最佳答案

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

例如,如果 URL 是:

http://yoursite.com/category/programming

我会将其重新映射为:

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

关于php - 是否允许 PHP 修改当前文件夹中的 .htaccess 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/566950/

相关文章:

php - 如何在 PHP 中存储和检索特定于语言的文本?

php - when in 从句与 mysql pdo

php - 如何调用从 PHP 传递变量的 Javascript

apache - 不同的 .htaccess 重写规则取决于 $_GET 参数

php - 将 PHP 数组中的唯一值插入到 SQL 表中

json - 如何创建 Avro 架构?

php - 更新 mysql 时区并更改所有 TIMESTAMPS 列

php - 警告 : mysqli_connect(): (HY000/1049): Unknown database in mac terminal only

.htaccess 和 SEO URL - 为什么这是一个无限循环?

.htaccess - 如何根据 cookie 值进行 htaccess 重定向