【发布时间】:2011-03-09 01:21:51
【问题描述】:
如果我理解正确,我需要在httpd.config 中添加一些内容以启用 mod_rewrite。如果这是真的,我需要在httpd.conf 或apache.conf 中输入什么?请针对操作系统。
【问题讨论】:
-
查看@FarmerGedden stackoverflow.com/a/16814691/4061061的答案
标签: mod-rewrite php
如果我理解正确,我需要在httpd.config 中添加一些内容以启用 mod_rewrite。如果这是真的,我需要在httpd.conf 或apache.conf 中输入什么?请针对操作系统。
【问题讨论】:
标签: mod-rewrite php
在我的情况下,即使在所有这些配置完成之后也出现了问题(@Pekka 提到了 httpd.conf 和 .htaccess 文件中的更改)。我添加后才解决
<Directory "project/path">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
到 vhost 文件中的虚拟主机配置
于 29/09/2017 编辑(适用于 Apache 2.4 Refer this answer
<VirtualHost dropbox.local:80>
DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
ServerName dropbox.local
ErrorLog "logs/dropbox.local-error.log"
CustomLog "logs/dropbox.local-access.log" combined
<Directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
# AllowOverride All # Deprecated
# Order Allow,Deny # Deprecated
# Allow from all # Deprecated
# --New way of doing it
Require all granted
</Directory>
【讨论】:
为了使用 mod_rewrite,您可以在终端中输入以下命令:
$ su
$ passwd **********
# a2enmod rewrite
之后重启apache2
# service apache2 restart
# /etc/init.d/apache2 restart
或
# service apache2 restart
【讨论】:
如果它与托管站点有关,请询问您的托管,或者如果您想在本地机器上启用它,请查看这个与在 wamp apache 中启用重写模块相关的 youtube 分步教程
https://youtu.be/xIspOX9FuVU?t=1m43s
Wamp 服务器图标 -> Apache -> Apache Modules 并检查 rewrite module 选项
应该检查它,但在那之后 wamp 需要重新启动所有服务
【讨论】:
仅供在 Debian 上使用 Apache2 启用 mod_rewrite 的人参考:
检查 mod_rewrite 是否启用:
通过运行在 mods_enabled 中查找到模块的链接
ls /etc/apache2/mods-enabled | grep rewrite
如果这输出rewrite.load,则启用该模块。 (注意:你到 apache2 的路径可能不是 /etc/,尽管它很可能是。)
如果尚未启用 mod_rewrite,则启用它:
启用模块(基本上创建了我们在上面寻找的链接):
a2enmod rewrite
重新加载所有 apache 配置文件:
service apache2 restart
【讨论】:
网络解决方案提供了将 php.ini 放入 cgi-bin 以启用 mod_rewrite 的建议
【讨论】:
不,您不应该这样做。 mod_rewrite 是一个 Apache 模块。与php.ini无关。
【讨论】:
【讨论】:
不,mod_rewrite 是一个 Apache 模块,与 PHP 无关。
要激活模块,httpd.conf 中的以下行需要激活:
LoadModule rewrite_module modules/mod_rewrite.so
要查看它是否已经处于活动状态,请尝试将 .htaccess 文件放入包含该行的 web 目录中
RewriteEngine on
如果这在没有引发 500 内部服务器错误的情况下工作,并且 .htaccess 文件被解析,则 URL 重写工作。
【讨论】:
RewriteEngine 看看它是否已经处于活动状态 - 如果不是,你将不得不与他们交谈。
asdfasdf 之类的内容写入文件中。那应该会让你获得500 internal server error。
RewriteEngine On 没有错误吗?如果是这样,则问题出在您的重写语句上。也许值得提出一个新问题。