我过去成功地设法在我受限制的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"
有帮助吗?

解决方案

您的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>

其他提示

您需要加载模块才能使用它。查看您的httpd.conf文件中的以下行,并删除前导注释字符(如果有):

#LoadModule rewrite_module modules/mod_rewrite.so

然后您只需要重启Apache服务器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top