The first step to debugging rewrite rules is to enable rewrite logging. Once rewrite logging has been enabled, you will be able to see rewrite log entries telling you which rewrite rule is not working and what is going wrong.
This wiki will guide you through the steps to enabling rewrite logging both for native LiteSpeed Web Server installations and installations running off Apache configuration files.
Enabling rewrite logging in the WebAdmin console is very simple. First, locate the virtual host that is having the problem. Rewrite log entries will go in the virtual host's main log, so make sure the virtual host's Log Level setting (WebAdmin console > Configuration > Virtual Hosts > Log) is set to INFO
or DEBUG
. (Rewrite log entries are considered info level.)
Now, go to the Rewrite tab (WebAdmin console > Configuration > Virtual Hosts > Rewrite), and raise the Log Level setting.
Start the log level at a lower level so that you don't get flooded with information. Raise the level if you don't find the errors you need. (Raising your rewrite log level may slow down your server.)
Graceful restart so the changes will take effect.
If your installation of LSWS is using Apache's configuration files, you will need to enable rewrite logging in your Apache configurations.
First, RewriteLog
directive DON'T work for LiteSpeed since LSWS will write rewrite logs to the server's error_log.
Second, LiteSpeed supports RewriteLogLevel
directive to define rewrite log level.
You need to locate the virtual host where the error is occurring (note:make sure you set it on the right virtual host, such as 80 virtual host , or 443 virtual host, or both if required. You won't see any rewrite log output if you set to the wrong virtual host, such as setting to 80 one but your testing is on 443.) so you can set the rewrite log level for that virtual host. If you are using cPanel, everything is usually in your httpd.conf
file. Other setups may have virtual hosts in separate directories.
In your virtual host settings, add the RewriteLogLevel directive followed by a number for how detailed you want your logs to be. 1
is least detailed. 9
is most detailed. 0
will turn off rewrite logging. For example:
<IfModule LiteSpeed> RewriteLogLevel 9 </IfModule>
Graceful restart LSWS so the changes will take effect.
New Apache 2.4 rewrite log directive “LogLevel alert rewrite:trace3” is not yet supported by LiteSpeed, hence you can use the above rewrite log directive “RewriteLogLevel 2” to enable rewrite log for LiteSpeed even you run apache 2.4.
More information on Apache rewrite log configuration can be found in the Apache mod_rewrite documentation.