How to redirect first router page

hi how can i redirect the http://192.168.1.1/cgi-bin/luci
to another html ?

i mean every time i put 192.168.1.1 it redirect to cgi-bin/luci
i want to redirect to my index.html

In "/etc/config/uhttpd", you probably have a line that says "option home /www", and at "/www" there is an "index.html" file, that uses a "http-equiv="refresh"" meta-tag to jump into "/cgi-bin/luci".

1 Like

thanks for reply
i cant find anythink about index.html file in uhttpd

# Server configuration
config uhttpd main

	#HTTP listen addresses, multiple allowed
	list listen_http	http://192.168.1.1/1.html
	list listen_http	[::]:80

	#HTTPS listen addresses, multiple allowed
	list listen_https	http://192.168.1.1/1.html
	list listen_https	[::]:443

	#Redirect HTTP requests to HTTPS if possible
	option redirect_https	1

	 Server document root
	option home		http://192.168.1.1/1.html

	# Reject requests from RFC1918 IP addresses
	# directed to the servers public IP(s).
	# This is a DNS rebinding countermeasure.
	option rfc1918_filter 1

	# Maximum number of concurrent requests.
	# If this number is exceeded, further requests are
	# queued until the number of running requests drops
	# below the limit again.
	option max_requests 3

	# Maximum number of concurrent connections.
	# If this number is exceeded, further TCP connection
	# attempts are queued until the number of active
	# connections drops below the limit again.
	option max_connections 100

	# Certificate and private key for HTTPS.
	# If no listen_https addresses are given,
	# the key options are ignored.
	option cert		/etc/uhttpd.crt
	option key		/etc/uhttpd.key

	# CGI url prefix, will be searched in docroot.
	# Default is /cgi-bin
	option cgi_prefix	/cgi-bin

	# List of extension->interpreter mappings.
	# Files with an associated interpreter can
	# be called outside of the CGI prefix and do
	# not need to be executable.
#	list interpreter	".php=/usr/bin/php-cgi"
#	list interpreter	".cgi=/usr/bin/perl"

	# List of prefix->Lua handler mappings.
	# Any request to an URL beneath the prefix
	# will be dispatched to the associated Lua
	# handler script. Lua support is disabled when
	# no handler mappings are specified. Lua prefix
	# matches have precedence over the CGI prefix.
	list lua_prefix		"/cgi-bin/luci=/usr/lib/lua/luci/sgi/uhttpd.lua"

	# Specify the ubus-rpc prefix and socket path.
#	option ubus_prefix	/ubus
#	option ubus_socket	/var/run/ubus.sock

	# CGI/Lua timeout, if the called script does not
	# write data within the given amount of seconds,
	# the server will terminate the request with
	# 504 Gateway Timeout response.
	option script_timeout	60

	# Network timeout, if the current connection is
	# blocked for the specified amount of seconds,
	# the server will terminate the associated
	# request process.
	option network_timeout	30

	# HTTP Keep-Alive, specifies the timeout for persistent
	# HTTP/1.1 connections. Setting this to 0 will disable
	# persistent HTTP connections.
	option http_keepalive	20

	# TCP Keep-Alive, send periodic keep-alive probes
	# over established connections to detect dead peers.
	# The value is given in seconds to specify the
	# interval between subsequent probes.
	# Setting this to 0 will disable TCP keep-alive.
	option tcp_keepalive	1

	# Basic auth realm, defaults to local hostname
#	option realm	OpenWrt

	# Configuration file in busybox httpd format
#	option config	/etc/httpd.conf

	# Do not follow symlinks that point outside of the
	# home directory.
#	option no_symlinks	0

	# Do not produce directory listings but send 403
	# instead if a client requests an url pointing to
	# a directory without any index file.
#	option no_dirlists	0

	# Do not authenticate any ubus-rpc requests against
	# the ubus session/access procedure.
	# This is dangerous and should be always left off
	# except for development and debug purposes!
#	option no_ubusauth	0

	# For this instance of uhttpd use the listed httpauth
	# sections to require Basic auth to the specified
	# resources.
#	list httpauth prefix_user


# Defaults for automatic certificate and key generation
config cert defaults

	# Validity time
	option days		730

	# RSA key size
	option bits		2048

	# Location
	option country		ZZ
	option state		Somewhere
	option location		Unknown

	# Common name
	option commonname	'OpenWrt'

# config httpauth prefix_user
#	option prefix /protected/url/path
#	option username user
#	option password 'plaintext_or_md5_or_$p$user_for_system_user'

To be clear, you are installing your own index.html file, correct?

This file you posted looks highly edited.

I can:

        # Server document root
        option home             /www
root@OpenWrt:~# ls /www/
cgi-bin      index.html   luci-static
root@OpenWrt:~# cat /www/index.html 
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="refresh" content="0; URL=/cgi-bin/luci/" />
</head>
<body style="background-color: white">
<a style="color: black; font-family: arial, helvetica, sans-serif;" href="/cgi-bin/luci/">LuCI - Lua Configuration Interface</a>
</body>
</html>

Located exactly where @eduperez noted.

1 Like

i try to make every time i write in browser 192.168.1.1
to redirect to my custom html page
seems not working like i need
thanks to all for answer

What exactly did you try?
What files did you edit?
Can you share them here?

1 Like

After changing the index.html file on the server you have to clear your browser cache and reload. Otherwise the browser remembers "the real page is cgi-bin/luci" and keeps going there.

1 Like

Can I redirect 403 to the home page?
option no_dirlists 0
==>
option no_dirlists redirect '/'
option no_dirlists header('location: /')
Thank!

there's a 404 redirect, but nothing for 403

I know how to use error_ Page settings, but I still don't know how to handle 403. Thank you very much for your help.

Since it doesn't appear to be handled, change the source code.

There are several web server packages that can replace uhttpd if more functionality is required.

2 Likes