type=page
status=published
title=delete-http-redirect
next=delete-iiop-listener.html
prev=delete-http-listener.html
~~~~~~

= delete-http-redirect

[[delete-http-redirect-1]][[GSRFM00083]][[delete-http-redirect]]

== delete-http-redirect

Removes an HTTP redirect

[[sthref739]]

=== Synopsis

[source]
----
delete-http-redirect [--help]
[--target target]
protocol-name
----

[[sthref740]]

=== Description

The `delete-http-redirect` subcommand removes the specified HTTP
redirect. This subcommand is supported in remote mode only.

[[sthref741]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--target`::
  Deletes the HTTP redirect only from the specified target. Valid values
  are as follows:

  `server`;;
    Deletes the HTTP redirect from the default server instance. This is
    the default value.
  configuration-name;;
    Deletes the HTTP redirect from the specified configuration.
  cluster-name;;
    Deletes the HTTP redirect from all server instances in the specified
    cluster.
  standalone-instance-name;;
    Deletes the HTTP redirect from the specified standalone server
    instance.

[[sthref742]]

=== Operands

protocol-name::
  The name of the associated protocol.

[[sthref743]]

=== Exit Status

0::
  command executed successfully
1::
  error in executing the command

[[sthref744]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-http-redirect.html#create-http-redirect-1[`create-http-redirect`(1)]


