永发信息网

如何开启apache的重写功能

答案:3  悬赏:20  手机版
解决时间 2021-11-10 01:54
  • 提问者网友:献世佛
  • 2021-11-09 18:46
如何开启apache的重写功能
最佳答案
  • 五星知识达人网友:人類模型
  • 2021-11-09 19:25
工具:
apache


步骤:
1、首先,需要找到apache的文件所在位置。点击进入。

2、接着,找到Conf文件夹。点击进入。

3、接着,找到httpd.conf文件。点击编辑。

4、然后,找到如图的行代码,将前面的#去掉。

5、找到如图这句话,将其修改为如图所示。

6、点击保存。然后重启Apache。

注意事项:一定要重启,否则不生效
全部回答
  • 1楼网友:笑迎怀羞
  • 2021-11-09 21:12
开启apache的重写功能步骤如下:
1、关于rewrite模块的调用:
Apache 2.x 中URL重写,是通过mod_rewrite.so 来实现的,所以您要查看您的Apache 是否已经被编译进去这个模块了,并且在Apache的配置文件httpd.conf 中已经调用了这个模块。在大多数主流发行版中,Apache 2.x 是把rewrite模块已经编入进去了。比如我用的是Slackware。Apache 2.x的配置文件,放在 /etc/httpd 目录下。
在 httpd.conf 中,我们会发现类似如下的一行,是有关rewrite模块的,模块名是 mod_rewrite.so 。
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so 或 LoadModule rewrite_module lib/apache2/modules/mod_rewrite.so 如果前面有#号,您要去掉。对于大多数发行版来说,Apache 2的模块一般是位于如下的两个位置 usr/lib/apache2/modules 或 /usr/lib/httpd/modules 如果在httpd中打开调用rewrite_module的设置,查看一下是不是能调用了,要通过 httpd -M的参数来查看; #/usr/sbin/httpd -M
如果发现有如下一行,说明模块已经能被调用了

rewrite_module (shared)

2、设置DocumentRoot的Directory:

在Apache 2.x 中,我们会看到 DocumentRoot设置的一行。这行就是存放网页程序的地方。比如LinuxSir.Org 存放在 /opt/www 目录中。那么我们就要设置 DocumentRoot为如下的。

DocumentRoot "/opt/www" 然后我们再还要对 DocumentRoot做针对性的行为设置。在一般的情况下,httpd.conf 会给一个默认的。如果你要改 DocumentRoot的路径,同时也要改针对DocumentRoot的Directory的设置,也就是



比如我们把DocumentRoot的路径改为了 "/opt/www",那我们也要把Directory做针对性的行为设置也要改成这个路径。



Options FollowSymLinks

#AllowOverride None 注:把这行前面加#号,然后加下面的一行 ,也就是 AllowOverride ALL
AllowOverride ALL
Order allow,deny
Allow from all
我们把AllowOverride 的参数设置为ALL,表示整台服务器上的,都支持URL规则重写。Apache 服务器要读每个网站根目录下的 .htaccess 文件。如果没有这个文件,或者这个文档没有定义任何关于URL重写的规则,则不会有任何效果。在一般的情况下,成熟的Web 服务器应用套件,都支持URL重写的,比如drupal和joomla 。当我们用这些程序时,会发现在安装包中有 .htaccess中有这个文件。我们把Apache配置好后,只是需要在这些程序的后台打开此功能就行了。
3、重启httpd服务器:

在一般情况下,在各个发行版中,都有httpd服务器启动脚本,比如

# /etc/rc.d/rc.httpd restart 注:Slackware Linux
# /etc/init.d/apache2 restart 注:ubuntu、Debian 等;

# /etc/init.d/httpd start 注:Fedora 、Redhat、CentOS
以上方法就可以了
  • 2楼网友:第四晚心情
  • 2021-11-09 20:14
首先找到安装目录下双击打开:httpd.conf,
找到httpd.conf第150行
(可能由于版本问题会有一样的情况,建议搜索:LoadModule rewrite_module modules/mod_rewrite.so)
然后图中画圈的#号给去掉
(#号代表注释的意思)
241行处的AllowOverride none改成AllowOverride all
然后关闭保存httpd.conf文件。
最后一步,重启apache服务器即可。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯