mod_rewrite 的问题 // Apache 2.2 // OpenSUSE 11.3
Posted
技术标签:
【中文标题】mod_rewrite 的问题 // Apache 2.2 // OpenSUSE 11.3【英文标题】:Issues with mod_rewrite // Apache 2.2 // OpenSUSE 11.3 【发布时间】:2011-03-31 13:43:17 【问题描述】:Apache 已安装 OK,LoadModule mod_rewrite 已在 etc/apache2/httpd.conf 中取消注释,我们已取消注释 AllowOverrides 并遵循标准程序进行非常简单的安装,但 .htaccess 文件仍然无效 - 有没有上述设置的特定要求是否意味着 mod_rewrite 不起作用?
phpinfo() 显示 mod_rewrite 已加载,但我们根本无法使任何 .htaccess 文件工作,即使是最简单的测试
RewriteEngine on
RewriteRule ^link([^/]*).html$ testrule.php?link=$1 [L]
有什么想法吗?
【问题讨论】:
anl4u.com/?p=1162 这就是答案——网络上唯一一个有答案的博客!!! SuSEconfig 是问题所在! 您是否尝试将重写规则先放入虚拟主机声明中?这会告诉您您的问题是否与子目录 .htaccess 有关。 【参考方案1】:另一个测试它是否正在运行
lsof | grep mod_rewrite
我在将'rewrite'添加到conf文件并运行更新后发现
SuSEconfig
它仍然没有加载,所以我也手动将它添加到这个文件中
/etc/apache2/sysconfig.d/loadmodule.conf
重启apache后一切正常!
【讨论】:
【参考方案2】:AllowOverrides 也可以在 Directory 标签内配置,可能是 AllowOverrides 未注释且全局启用,但在 Directory 标签中显式关闭。
只是根据提供的信息发表评论,如果您可以粘贴 httpd.conf 的相关部分,那就太好了。
【讨论】:
以上是关于mod_rewrite 的问题 // Apache 2.2 // OpenSUSE 11.3的主要内容,如果未能解决你的问题,请参考以下文章
apache tomcat + apache httpd + mod_proxy + mod_rewrite + 表单发布数据
本地 Apache 服务器 mod_rewrite/pretty links 问题
Apache2 - 使用 mod_rewrite 代理到另一个域