gpt4 book ai didi

.htaccess - Apache mod_rewrite 适用于 .htaccess 但不适用于 httpd.conf

转载 作者:行者123 更新时间:2023-12-04 12:56:15 25 4
gpt4 key购买 nike

我第一次尝试使用 mod_rewrite(我是网络新手,但正在努力学习)。我正在尝试获取 bob.html 重定向到 alice.html (阅读:URL 保持不变,页面内容为 alice.html )。这两个文件都在 /var/www/ .我正在运行带有 Apache 2.2.16 的 Ubuntu 10.10。

以下是 中的工作原理.htaccess 文件放在/var/www/目录:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^bob.html$ alice.html
</IfModule>

这按预期运行,但在移动到 httpd.conf 文件时不起作用(只是学习具有性能等的最佳实践)。我在某处读到在 中使用 mod_rewrite 时httpd.conf 文件,前导斜杠是必需的,所以我的 httpd.conf 文件看起来像:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^/bob.html$ /alice.html
</IfModule>

我也读过 /etc/apache2/sites-enabled/000-default 需要 允许覆盖 设置为 全部 .
<Directory /var/www> 
...
AllowOverride All
...
</Directory>

我认为这仅适用于 .htaccess 但我不确定所以我只是把它留在了里面。

使用所有这些配置设置,重定向不起作用。我已经通过插入错误代码进行测试以确保文件本身被读取(有人建议 httpd.conf 不再使用,而使用 apache2.conf 代替)。我已经查看了其他几个问题/答案,但我仍然无法弄清楚。

编辑:应该注意的是,我正在使用 /etc/init.d/apache2 重启 每次更改为 后httpd.conf 重新启动 Apache 并(希望)重新加载配置。

最佳答案

尝试将重写器包装在 httpd.conf 文件中的 标签中。这似乎改变了行为,使其更类似于 .htaccess 文件。

关于.htaccess - Apache mod_rewrite 适用于 .htaccess 但不适用于 httpd.conf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5121361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com