如果我理解正确,我需要放入一些东西httpd.config来启用mod_rewrite.如果这是真的,我需要什么就摆在httpd.conf或apache.conf?请具体操作系统.
Pek*_*ica 65
不,mod_rewrite是一个Apache模块,与PHP无关.
要激活模块,httpd.conf需要激活以下行:
LoadModule rewrite_module modules/mod_rewrite.so
Run Code Online (Sandbox Code Playgroud)
要查看它是否已处于活动状态,请尝试将.htaccess文件放入包含该行的Web目录中
RewriteEngine on
Run Code Online (Sandbox Code Playgroud)
如果这样做没有抛出500内部服务器错误,并且.htaccess文件被解析,URL重写工作.
Far*_*den 59
对于使用Apache2在Debian上启用mod_rewrite的人来说,这只是一个假设:
要检查mod_rewrite是否已启用:
通过运行在mods_enabled中查找指向模块的链接
ls /etc/apache2/mods-enabled | grep rewrite
Run Code Online (Sandbox Code Playgroud)
如果输出rewrite.load则模块启用.(注意:你的apache2路径可能不是/ etc /,尽管它可能是.)
要启用mod_rewrite,如果它还没有:
启用模块(基本上创建我们上面寻找的链接):
a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)
重新加载所有apache配置文件:
service apache2 restart
Run Code Online (Sandbox Code Playgroud)
Sad*_*dee 12
在我的情况下,即使在所有这些配置完成后也出现了问题(@Pekka已经提到了httpd.conf和.htaccess文件中的更改).它只在我添加后解决了
<Directory "project/path">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
Run Code Online (Sandbox Code Playgroud)
到vhost文件中的虚拟主机配置
编辑于2017年9月29日(对于Apache 2.4 <) 请参阅此答案
<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>
Run Code Online (Sandbox Code Playgroud)