Rewrite all 404s

Discussion in 'Install/Configuration' started by techieanalyst, Jan 29, 2013.

  1. techieanalyst

    techieanalyst New Member

    Im running IPBoards 3.4.2 and I need this problem solved and they've already pretty much pointed at the webserver

    <IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule \.(jpeg|jpg|gif|png)$ /public/404.php [NC,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    All sites come back as 404, what should I set on my listener/server side in the GUI to make this work
  2. webizen

    webizen New Member

    enable rewrite logging (Add 'RewriteLogLevel 9' in vhost section of httpd.conf) and grep 'REWRITE' entries from /usr/local/apache/logs/error_log to see what is going on.
  3. techieanalyst

    techieanalyst New Member

    The only httpd.conf found on my server was at

    /usr/local/lsws/add-ons/frontpage/conf

    Its totally empty

    Apache has never been installed on the server, this is a dedicated server I put together myself
  4. techieanalyst

    techieanalyst New Member

    These are the errors Im getting with the log level set to 9

    2013-01-30 10:36:12.740 [INFO] [10.1.1.156:50369-4#Techie] [REWRITE] Rule: Match '/forums/' with pattern '\.(jpeg|jpg|gif|png)$', result: -1
    2013-01-30 10:36:12.740 [INFO] [10.1.1.156:50369-4#Techie] [REWRITE] Rule: Match '/forums/' with pattern '.', result: 1
    2013-01-30 10:36:12.740 [INFO] [10.1.1.156:50369-4#Techie] [REWRITE] stat( /usr/local/lsws/DEFAULT/html/forums ) failed
    2013-01-30 10:36:12.740 [INFO] [10.1.1.156:50369-4#Techie] [REWRITE] stat( /usr/local/lsws/DEFAULT/html/forums ) failed
    2013-01-30 10:36:12.740 [INFO] [10.1.1.156:50369-4#Techie] [REWRITE] Source URI: '/forums/' => Result URI: '/index.php'
    2013-01-30 10:36:12.740 [INFO] [10.1.1.156:50369-4#Techie] [REWRITE] Last Rule, stop!
    2013-01-30 10:36:12.836 [INFO] [10.1.1.156:50369-5#Techie] [REWRITE] Rule: Match '/forums' with pattern '\.(jpeg|jpg|gif|png)$', result: -1
    2013-01-30 10:36:12.836 [INFO] [10.1.1.156:50369-5#Techie] [REWRITE] Rule: Match '/forums' with pattern '.', result: 1
    2013-01-30 10:36:12.836 [INFO] [10.1.1.156:50369-5#Techie] [REWRITE] stat( /usr/local/lsws/DEFAULT/html/forums ) failed
    2013-01-30 10:36:12.836 [INFO] [10.1.1.156:50369-5#Techie] [REWRITE] stat( /usr/local/lsws/DEFAULT/html/forums ) failed
    2013-01-30 10:36:12.836 [INFO] [10.1.1.156:50369-5#Techie] [REWRITE] Source URI: '/forums' => Result URI: '/index.php'
    2013-01-30 10:36:12.836 [INFO] [10.1.1.156:50369-5#Techie] [REWRITE] Last Rule, stop!
  5. webizen

    webizen New Member

    looks like native LSWS vhost setup. are you able to request a simple phpinfo page?
  6. techieanalyst

    techieanalyst New Member

    like any php?

    You thinking PHP mod rewrite isn't enabled maybe?
  7. webizen

    webizen New Member

    mod_rewrite is working as shown in the rewrite log. but not sure if php is working properly.
  8. danse

    danse New Member

    v4.2.2, native litespeed server and vhost config.

    seems like the same problem i get.

    first of all the rewrite rules (joomla default rewrite rules):
    Code:
    RewriteEngine On
    
    RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
    RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    RewriteRule .* index.php [F]
    
    RewriteBase /base/
    
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond %{REQUEST_URI} !^/index\.php
    RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* index.php [L]
    
    now to the interesting parts. if i use .htaccess the rewrite rules work. if i use litespeed nativ rewrite settings under virtual hosts -> rewrite the rules result in 404s.

    the only difference i can spot are the lines with "strip base" and "prepend write base" in the htaccess log.

    Any ideas what i'm doing wrong?
    Last edited: Feb 23, 2013
  9. NiteWave

    NiteWave Administrator

    Code:
    now to the interesting parts. if i use .htaccess the rewrite rules work. if i use litespeed nativ rewrite settings under virtual hosts -> rewrite the rules result in 404s.
    it's difference between per-server and per-directory rewriterule.

    refer apache document:
    http://httpd.apache.org/docs/current/mod/mod_rewrite.html

    for these rules, I think

    RewriteRule .* index.php [F] --> RewriteRule .* /base/index.php [F]
    RewriteRule .* index.php [L] --> RewriteRule .* /base/index.php [L]

    and comment out
    #RewriteBase /base/

    should work under virtual host

Share This Page