我过去成功地设法在我受限制的apache服务器上复制/编辑/粘贴重写规则。
现在我正在试验一个Apache服务器,我可以重新启动并配置我的内容,但我甚至无法获得一个基本的重写示例,这是在我阅读了至少两个教程之后。我玩过LogLevel和RewriteLog,但我找不到真正的证据表明我的基本重写规则正在被使用。我的重写日志文件已创建,但它是空的。我也尝试过从httpd.conf中删除所有内容但重写内容。
让我们看看我可以添加的其他信息:
chilcott:/etc/apache2/conf.d# uname -a Linux chilcott 2.6.26-1-486 #1 Sat Jan 10 17:46:23 UTC 2009 i686 GNU/Linux chilcott:/etc/apache2/conf.d# apache2ctl -V Server version: Apache/2.2.9 (Debian) Server built: Jan 20 2009 17:29:25 Server's Module Magic Number: 20051115:15 Server loaded: APR 1.2.12, APR-Util 1.2.12 Compiled using: APR 1.2.12, APR-Util 1.2.12 Architecture: 32-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="" -D SUEXEC_BIN="/usr/lib/apache2/suexec" -D DEFAULT_PIDLOG="/var/run/apache2.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"
答案 0 :(得分:3)
您的httpd.conf右侧部分是否有重写规则?他们可能应该在vhost部分。
发布httpd.conf(或至少部分内容)可能有所帮助。
它应该看起来像这样:
LoadModule rewrite_module modules/mod_rewrite.so
RewriteLogLevel 9
RewriteLog ".....rewrite.log"
<VirtualHost *:80>
DocumentRoot "..."
RewriteEngine On
RewriteRule ^/foo /bar
</VirtualHost>
答案 1 :(得分:1)
您需要加载模块才能使用它。查看您的httpd.conf文件中的以下行,如果有的话,删除前导注释字符#
:
#LoadModule rewrite_module modules/mod_rewrite.so
然后您只需要重启Apache服务器。