我正在尝试执行一些网址重写,在查看了phpinfo文件之后,我看不出任何提及此内容。我的主机是FastHosts。
我应该在phpinfo()
中寻找其他内容,还是应该假设mod_rewrite
只是disabled
?
答案 0 :(得分:11)
mod_rewrite
是一个apache模块,而不是PHP模块。它在phpinfo()
中不可见。在某个子文件夹中创建.htaccess并确保它包含:
RewriteEngine on
将浏览器指向该文件夹。如果出现服务器错误,则表明未安装。否则就是。
答案 1 :(得分:8)
当PHP被用作Apache模块时 apache_get_modules()可以用来检查这个
<?php
print_r(apache_get_modules());
?>
然后给出这样的结果:
Array
(
[0] => core
[1] => http_core
[2] => mod_so
[3] => sapi_apache2
[4] => mod_mime
[5] => mod_rewrite
)
如果您使用PHP作为CGI apache_get_modules()不起作用
答案 2 :(得分:0)
我已经按照所有程序启用了mod重写。但它似乎没有用。
我甚至已将正确的代码片段正确地添加到.conf
文件中,但无济于事。
<Directory “/var/www/html”>
AllowOverride All
</Directory>
但后来我注意到,那些引人注目的逗号看起来并不正常!巴姆!用正确的和Wah-Lah替换那些peskies!
答案 3 :(得分:0)
这适用于 Debian:
apache2ctl -t -D DUMP_MODULES