Project

General

Profile

server.error-handler-404 on a subfolder

Added by eryretqwewrqr about 10 years ago

Hello everyone,

When my 404 is at domain.com/*_here_* his dynamic contents shows, but it became static with more depth like domain.com/*_here_*/*_here_*.

LightTPD 1.4.28-1 (Win32)
Windows Server 2003 SP2
Chrome 32.0.1700.76 m and IE 8

lighttpd-inc.conf:

@# LightTPD Configuration file (INCLUDE) #
  1. Use it as a base for LightTPD 1.0.0 and above.
  2. This version is built for WLMP Webserver Package - http://en.wlmp.project.net/ #
  3. $Id: lighttpd-inc.conf,v 1.7 2004/11/03 22:26:05 weigon Exp $
  1. Options you really have to take care of ####################
  1. modules to load
  1. at least mod_access and mod_accesslog should be loaded
  2. all other module should only be loaded if really neccesary
  3. - saves some time
  4. - saves memory
    server.modules = (
    "mod_access",
    "mod_accesslog",
    "mod_alias",
  5. "mod_auth",
  6. "mod_cgi",
  7. "mod_cml",
  8. "mod_compress",
  9. "mod_dirlisting",
  10. "mod_evasive",
  11. "mod_evhost",
  12. "mod_expire",
  13. "mod_extforward",
  14. "mod_fastcgi",
  15. "mod_flv_streaming",
  16. "mod_indexfile",
  17. "mod_magnet",
  18. "mod_mysql_vhost",
  19. "mod_proxy",
    "mod_redirect",
  20. "mod_rewrite",
    1. "mod_rrdtool",
  21. "mod_scgi",
  22. "mod_secdownload",
  23. "mod_setenv",
  24. "mod_simple_vhost",
    "mod_ssi",
  25. "mod_staticfile",
    "mod_status",
    1. "mod_trigger_b4_dl",
  26. "mod_userdir",
  27. "mod_usertrack",
  28. "mod_webdav"
    )
  1. a static document-root, for virtual-hosting take look at the
  2. server.virtual-* options
    server.document-root = "HTDOCS/"

#directory for file uploads
server.upload-dirs = ( "TMP/" )

  1. files to check for if .../ is requested
    index-file.names = ( "index.php", "index.pl", "index.cgi",
    "index.html", "index.htm", "default.htm" )
  1. set the event-handler (read the performance section in the manual)
  1. server.event-handler = "freebsd-kqueue" # needed on OS X
  1. mimetype mapping
    mimetype.assign = (
    ".pdf" => "application/pdf",
    ".sig" => "application/pgp-signature",
    ".spl" => "application/futuresplash",
    ".class" => "application/octet-stream",
    ".ps" => "application/postscript",
    ".torrent" => "application/x-bittorrent",
    ".dvi" => "application/x-dvi",
    ".gz" => "application/x-gzip",
    ".pac" => "application/x-ns-proxy-autoconfig",
    ".swf" => "application/x-shockwave-flash",
    ".tar.gz" => "application/x-tgz",
    ".tgz" => "application/x-tgz",
    ".tar" => "application/x-tar",
    ".zip" => "application/zip",
    ".mp3" => "audio/mpeg",
    ".m3u" => "audio/x-mpegurl",
    ".wma" => "audio/x-ms-wma",
    ".wax" => "audio/x-ms-wax",
    ".ogg" => "application/ogg",
    ".wav" => "audio/x-wav",
    ".gif" => "image/gif",
    ".jpg" => "image/jpeg",
    ".jpeg" => "image/jpeg",
    ".png" => "image/png",
    ".xbm" => "image/x-xbitmap",
    ".xpm" => "image/x-xpixmap",
    ".xwd" => "image/x-xwindowdump",
    ".css" => "text/css",
    ".html" => "text/html",
    ".htm" => "text/html",
    ".js" => "text/javascript",
    ".asc" => "text/plain",
    ".c" => "text/plain",
    ".cpp" => "text/plain",
    ".log" => "text/plain",
    ".conf" => "text/plain",
    ".text" => "text/plain",
    ".txt" => "text/plain",
    ".dtd" => "text/xml",
    ".xml" => "text/xml",
    ".mpeg" => "video/mpeg",
    ".mpg" => "video/mpeg",
    ".mov" => "video/quicktime",
    ".qt" => "video/quicktime",
    ".avi" => "video/x-msvideo",
    ".asf" => "video/x-ms-asf",
    ".asx" => "video/x-ms-asf",
    ".wmv" => "video/x-ms-wmv",
    ".bz2" => "application/x-bzip",
    ".tbz" => "application/x-bzip-compressed-tar",
    ".tar.bz2" => "application/x-bzip-compressed-tar"
    )
  1. Use the "Content-Type" extended attribute to obtain mime type if possible
    mimetype.use-xattr = "enable"
  1. deny access the file-extensions #
  1. ~ is for backupfiles from vi, emacs, joe, ...
  2. .inc is often used for code includes which should in general not be part
  3. of the document-root
    url.access-deny = ( "~", ".inc" )

$HTTP["url"] =~ "\.pdf$" {
server.range-requests = "disable"
}

##
  1. which extensions should not be handle via static-file transfer #
  2. .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
    static-file.exclude-extensions = ( ".php", ".pl", ".cgi" )
  1. Options that are good to be but not neccesary to be changed #######
  1. bind to port (default: 80)
    server.port = 8181
  1. bind to localhost (default: all interfaces)
    #server.bind = "mydomain.org"
  1. error-handler for status 404
    server.error-handler-404 = "/error-handler.html"
    #server.error-handler-404 = "/error-handler.php"
  1. virtual hosts ##
  1. If you want name-based virtual hosting add the next three settings and load
  2. mod_simple_vhost ##
  3. document-root =
  4. virtual-server-root + virtual-server-default-host + virtual-server-docroot
  5. or
  6. virtual-server-root + http-host + virtual-server-docroot ##
    #simple-vhost.server-root = "HTDOCS/"
    #simple-vhost.default-host = "vhost.mydomain.org"
    #simple-vhost.document-root = "/vhost/"
  1. alias
    #alias.url = ( "/logs" => "logs" )
##
  1. Format: <errorfile-prefix><status-code>.html
  2. > ..../status-404.html for 'File not found'
    #server.errorfile-prefix = "htdocs/errors/status
    "
  1. virtual directory listings
    dir-listing.activate = "enable"
    #dir-listing.encoding = "iso-8859-2"
    #dir-listing.external-css = "style/oldstyle.css"
  1. enable debugging
    #debug.log-request-header = "enable"
    #debug.log-response-header = "enable"
    #debug.log-request-handling = "enable"
    #debug.log-file-not-found = "enable"
  1. only root can use these options #
  1. chroot() to directory (default: no chroot() )
    #server.chroot = "/"
  1. change uid to <uid> (default: don't care)
    #server.username = "wwwrun"
  1. change uid to <uid> (default: don't care)
    #server.groupname = "wwwrun"
  1. compress module
    #compress.cache-dir = "tmp/"
    #compress.filetype = ("text/plain", "text/html")
  1. proxy module
  1. read proxy.txt for more info
    #proxy.server = ( ".php" =>
  1. ( "localhost" =>
  2. (
  3. "host" => "192.168.0.101",
  4. "port" => 80
  5. )
  6. )
  7. )
  1. fastcgi module
  1. read fastcgi.txt for more info
  2. for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
    #fastcgi.server = ( ".php" =>
  1. ( "localhost" =>
  2. (
  3. "socket" => "TMP/php-fastcgi.socket",
  4. "bin-path" => "PHP/php-cgi.exe"
  5. )
  6. )
  7. )
  1. CGI module
    #cgi.assign = ( ".php" => "PHP/php-cgi.exe",
  1. ".pl" => "Perl/perl.exe",
  2. ".cgi" => "Perl/perl.exe" ) #
  1. SSL engine
    #ssl.engine = "enable"
    #ssl.pemfile = "server.pem"
  1. status module
    status.status-url = "/server-status"
    status.config-url = "/server-config"
  1. auth module
  1. read authentication.txt for more info
    #auth.backend = "plain"
    #auth.backend.plain.userfile = "conf/lighttpd-auth.conf"
    #auth.backend.plain.groupfile = "conf/lighttpd-group.conf"

#auth.backend.ldap.hostname = "localhost"
#auth.backend.ldap.base-dn = "dc=my-domain,dc=com"
#auth.backend.ldap.filter = "(uid=$)"

#auth.require = ( "/server-status" =>
  1. (
  2. "method" => "digest",
  3. "realm" => "Server status",
  4. "require" => "user=admin"
  5. ),
  6. "/server-config" =>
  7. (
  8. "method" => "digest",
  9. "realm" => "Server config",
  10. "require" => "user=admin"
  11. )
  12. )
  1. url handling modules (rewrite, redirect, access)
    #url.rewrite = ( "^/$" => "/server-status" )
    #url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )
  1. both rewrite/redirect support back reference to regex conditional using %n
    #$HTTP["host"] =~ "^www\.(.*)" {
  1. url.redirect = ( "^/(.*)" => "http://%1/$1" )
    #}

$HTTP["host"] =~ "^([^.]+\.[^.]+)$" {
url.redirect = (
".*" => "http://www.%1"
)
}

#
  1. define a pattern for the host url finding
  2. %% => % sign
  3. %0 => domain name + tld
  4. %1 => tld
  5. %2 => domain name without tld
  6. %3 => subdomain 1 name
  7. %4 => subdomain 2 name #
    #evhost.path-pattern = "HTDOCS/"
  1. expire module
    #expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")
  1. ssi
    #ssi.extension = ( ".shtml" )
  1. rrdtool
    #rrdtool.binary = "rrdtool"
    #rrdtool.db-name = "lighttpd.rrd"
  1. setenv
    #setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
    #setenv.add-response-header = ( "X-Secret-Message" => "42" )
  1. for mod_trigger_b4_dl
  1. trigger-before-download.gdbm-filename = "GDBM/testbase/trigger.db"
  2. trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )
  3. trigger-before-download.trigger-url = "^/trigger/"
  4. trigger-before-download.download-url = "^/download/"
  5. trigger-before-download.deny-url = "http://127.0.0.1/index.html"
  6. trigger-before-download.trigger-timeout = 10
  1. for mod_cml
  2. don't forget to add index.cml to server.indexfiles
  1. cml.extension = ".cml"
  2. cml.memcache-hosts = ( "127.0.0.1:11211" )
  1. variable usage:
  1. variable name without "." is auto prefixed by "var." and becomes "var.bar"
    #bar = 1
    #var.mystring = "foo"
  1. integer add
    #bar += 1
  2. string concat, with integer cast as string, result: "www.foo1.com"
    #server.name = "www." + mystring + var.bar + ".com"
  3. array merge
    #index-file.names = (foo + ".php") + index-file.names
    #index-file.names += (foo + ".php")
  1. include
    #include "conf/lighttpd-ext.conf"
  1. same as above if you run: "lighttpd -f conf\lighttpd.conf"
    #include "lighttpd-ext.conf"
  1. include_shell
    #include_shell "echo var.a=1"
  1. the above is same as:
    #var.a=1
    @

Any help would be appreciated.

![IMG]http://i.imgur.com/jg2t4.gif[/IMG]!