我正在尝试使用mod_rewrite
模块Apache24 server
,但无法加载它。我知道关于这个主题已经有很多问题被问到,我已经全部回答过了,但似乎都不起作用。这些是我到目前为止一直遵循的步骤---
- CHANGED
httpd.conf
文件进行了以下更改--
a. 未注释LoadModule rewrite_module modules/mod_rewrite.so
b.AllowOverride None
改为AllowOverride All
重新启动 Apache 服务器
使用命令提示符命令检查已加载的模块
httpd -M
。我可以看到 mod_rewrite 模块已加载。我附上了下面的图片。
但完成所有这些步骤后,我看不到 mod_rewrite 作为加载模块phpinfo
。
如上图所示,没有加载 mod_rewrite 模块。此外,我甚至尝试使用.htaccess
文件重写 URL,但不起作用。Apache 似乎忽略了.htaccess
文件,尽管我已将该文件放在我的根目录中。
Note: I am running `PHP` as an apache module
Using `WAMP` stack
Using `localhost` as server
我非常需要这个模块来实现 URL 重写。你们能建议一些其他方法来加载这个模块吗?
这两天我一直在绞尽脑汁。您认为是否需要重新安装,或者是否与路径依赖性有关。任何建议都将不胜感激。
编辑
我也尝试过从虚拟主机重写 URL。但仍然没有重定向。我正在添加Virtual host
以下设置---
<VirtualHost *:80>
<Directory "/Apache24/htdocs">
Options FollowSymLinks
AllowOverride All
DirectoryIndex index.html index.php
</Directory>
ServerName localhost
DocumentRoot "/Apache24/htdocs"
ErrorLog "/Apache24/logs/error.log"
CustomLog "/Apache24/logs/access.log" combined
<directory "/Apache24/htdocs">
<IfModule rewrite_module>
Options +FollowSymlinks
RewriteEngine On
</IfModule>
<IfModule rewrite_module>
RewriteRule ^working.php fun.html
</IfModule>
</directory>
# Rewrite Rules #####################
RewriteEngine On
RewriteRule ^working.php fun.html
# end Rewrite Rules #################
</VirtualHost>
当我尝试运行 fun.html 时,上述代码不会将其重定向到 working.php。它只是说the requested URL /working.php was not found on this server.
。提前致谢!