在配置域名 301 跳轉時,發現 mod_rewrite.c 模塊沒有加載,因此以此爲例。apache
這個用到了 apache 的擴展工具 apxs bash
在使用這個功能以前,先確認是否已經加載 mod_so 模塊,方法是:app
[root@localhost ~]# /usr/local/apache2/bin/httpd -l
在列出的列表裏有 mod_so 模塊,則說明已經加載。
ide
而後在源碼包下找模塊的C文件。工具
[root@localhost ~]# cd /usr/local/src/httpd-2.2.31 [root@localhost httpd-2.2.31]# find . -name mod_rewrite.c ./modules/mappers/mod_rewrite.c [root@localhost httpd-2.2.31]# cd ./modules/mappers/ [root@localhost mappers]# pwd /usr/local/src/httpd-2.2.31/modules/mappers [root@localhost mappers]# /usr/local/apache2/bin/apxs -i -a -c mod_rewrite.c /usr/local/apache2/build/libtool --silent --mode=compile gcc -prefer-pic -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache2/include -I/usr/local/apache2/include -I/usr/local/apache2/include -c -o mod_rewrite.lo mod_rewrite.c && touch mod_rewrite.slo /usr/local/apache2/build/libtool --silent --mode=link gcc -o mod_rewrite.la -rpath /usr/local/apache2/modules -module -avoid-version mod_rewrite.lo /usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' mod_rewrite.la /usr/local/apache2/modules /usr/local/apache2/build/libtool --mode=install cp mod_rewrite.la /usr/local/apache2/modules/ cp .libs/mod_rewrite.so /usr/local/apache2/modules/mod_rewrite.so cp .libs/mod_rewrite.lai /usr/local/apache2/modules/mod_rewrite.la cp .libs/mod_rewrite.a /usr/local/apache2/modules/mod_rewrite.a chmod 644 /usr/local/apache2/modules/mod_rewrite.a ranlib /usr/local/apache2/modules/mod_rewrite.a PATH="$PATH:/sbin" ldconfig -n /usr/local/apache2/modules ---------------------------------------------------------------------- Libraries have been installed in: /usr/local/apache2/modules If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,--rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- chmod 755 /usr/local/apache2/modules/mod_rewrite.so [activating module `rewrite' in /usr/local/apache2/conf/httpd.conf]
根據:
ui
Libraries have been installed in:spa
/usr/local/apache2/modulesorm
知道模塊安裝到了哪裏。ci