账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    怎么让apache2.2单独编译mod_rewrite.so?
    65
    0

    问题描述

    怎么让apache2.2单独编译mod_rewrite.so时出现了报错怎么解决

    问题出现的平台版本及自己尝试过哪些方法

    重新编译mod_rewrite.so:
    在apache的源码安装目录中寻找mod_rewrite.c文件
    find / -name mod_rewrite.c
    /home/springshine/LAMP/httpd-2.2.3/modules/mappers/mod_rewrite.c

    编译:
    cd /home/springshine/LAMP/httpd-2.2.3/modules/mappers/
    /usr/local/apache2/bin/apxs -c mod_rewrite.c
    /usr/local/apache2/bin/apxs -i -a -n mod_rewrite mod_rewrite.la
    如果没出错,在/usr/local/apache2/modules/ 中就会有mod_rewrite.so了

    我按照上面操作然后出现如下报错,不知道该怎么解决

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)
    [root@VM_0_4_centos mappers]# /usr/local/apache/bin/apxs -c mode_rewrite.c
    报错怎么解决
    Use of assignment to $[ is deprecated at /usr/local/apache/bin/apxs line 86.
    /usr/local/apache/build/libtool --silent --mode=compile gcc -prefer-pic -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include -I/usr/local/apache/include -I/usr/local/apache/include -c -o mode_rewrite.lo mode_rewrite.c && touch mode_rewrite.slo
    gcc: error: mode_rewrite.c: No such file or directory
    gcc: fatal error: no input files
    compilation terminated.
    apxs:Error: Command failed with rc=65536

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 流光夏央 普通会员 1楼

      要让Apache2.2单独编译mod_rewrite.so,您需要在Apache2.2的配置文件中启用模块。首先,创建一个名为mod_rewrite.conf的文件,并在其中添加以下内容:

      apache2 <DirectoryMatch "/^/path/to/your/url"> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L,R=301] </DirectoryMatch>

      这里,/path/to/your/url是您想要重写的内容的URL路径。RewriteEngine On设置使Apache2.2使用内置的RewriteEngine指令。RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-d检查请求的文件和目录是否为文件或目录。如果满足条件,将使用RewriteRule指令将请求重定向到index.php?/$1

      最后,您需要将mod_rewrite.conf文件保存到Apache2.2的默认配置文件/etc/apache2/sites-available/中,例如/etc/apache2/sites-available/rewrite.conf。然后,使用a2ensite命令启用该配置:

      bash sudo a2ensite rewrite

      现在,您已经成功将Apache2.2单独编译了mod_rewrite.so。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部