summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/conf.py2
-rw-r--r--docs/faq/install.txt2
-rw-r--r--docs/howto/deployment/checklist.txt2
-rw-r--r--docs/howto/deployment/wsgi/modwsgi.txt2
-rw-r--r--docs/howto/deployment/wsgi/uwsgi.txt8
-rw-r--r--docs/howto/jython.txt2
-rw-r--r--docs/howto/static-files/deployment.txt6
-rw-r--r--docs/internals/contributing/localizing.txt2
-rw-r--r--docs/internals/contributing/writing-code/unit-tests.txt4
-rw-r--r--docs/internals/contributing/writing-code/working-with-git.txt4
-rw-r--r--docs/internals/contributing/writing-documentation.txt2
-rw-r--r--docs/internals/git.txt4
-rw-r--r--docs/internals/howto-release-django.txt2
-rw-r--r--docs/intro/contributing.txt6
-rw-r--r--docs/intro/install.txt2
-rw-r--r--docs/intro/reusable-apps.txt13
-rw-r--r--docs/misc/design-philosophies.txt6
-rw-r--r--docs/ref/clickjacking.txt4
-rw-r--r--docs/ref/contrib/gis/forms-api.txt4
-rw-r--r--docs/ref/contrib/gis/geos.txt2
-rw-r--r--docs/ref/contrib/gis/install/index.txt6
-rw-r--r--docs/ref/contrib/gis/install/spatialite.txt2
-rw-r--r--docs/ref/contrib/postgres/fields.txt2
-rw-r--r--docs/ref/contrib/sitemaps.txt8
-rw-r--r--docs/ref/csrf.txt4
-rw-r--r--docs/ref/databases.txt4
-rw-r--r--docs/ref/django-admin.txt2
-rw-r--r--docs/ref/middleware.txt11
-rw-r--r--docs/ref/utils.txt2
-rw-r--r--docs/ref/validators.txt2
-rw-r--r--docs/topics/db/optimization.txt2
-rw-r--r--docs/topics/db/queries.txt2
-rw-r--r--docs/topics/http/sessions.txt2
-rw-r--r--docs/topics/install.txt8
-rw-r--r--docs/topics/performance.txt8
-rw-r--r--docs/topics/templates.txt2
-rw-r--r--docs/topics/testing/advanced.txt2
37 files changed, 70 insertions, 78 deletions
diff --git a/docs/conf.py b/docs/conf.py
index 14877cd05d..e9619afdbf 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -369,5 +369,5 @@ epub_cover = ('', 'epub-cover.html')
# epub_use_index = True
# -- custom extension options --------------------------------------------------
-cve_url = 'https://web.nvd.nist.gov/view/vuln/detail?vulnId=%s'
+cve_url = 'https://nvd.nist.gov/view/vuln/detail?vulnId=%s'
ticket_url = 'https://code.djangoproject.com/ticket/%s'
diff --git a/docs/faq/install.txt b/docs/faq/install.txt
index 622334348e..800b981064 100644
--- a/docs/faq/install.txt
+++ b/docs/faq/install.txt
@@ -36,7 +36,7 @@ PostgreSQL fans, and MySQL_, `SQLite 3`_, and Oracle_ are also supported.
.. _PostgreSQL: https://www.postgresql.org/
.. _MySQL: https://www.mysql.com/
.. _`SQLite 3`: https://www.sqlite.org/
-.. _Oracle: http://www.oracle.com/
+.. _Oracle: https://www.oracle.com/
.. _faq-python-version-support:
diff --git a/docs/howto/deployment/checklist.txt b/docs/howto/deployment/checklist.txt
index d6820f7e79..03b31f1357 100644
--- a/docs/howto/deployment/checklist.txt
+++ b/docs/howto/deployment/checklist.txt
@@ -234,7 +234,7 @@ See :doc:`/howto/error-reporting` for details on error reporting by email.
Consider using an error monitoring system such as Sentry_ before your
inbox is flooded by reports. Sentry can also aggregate logs.
- .. _Sentry: https://docs.getsentry.com/
+ .. _Sentry: https://docs.sentry.io/
Customize the default error views
---------------------------------
diff --git a/docs/howto/deployment/wsgi/modwsgi.txt b/docs/howto/deployment/wsgi/modwsgi.txt
index 6647e624d1..b6e0fd154b 100644
--- a/docs/howto/deployment/wsgi/modwsgi.txt
+++ b/docs/howto/deployment/wsgi/modwsgi.txt
@@ -179,7 +179,7 @@ If you are using a version of Apache older than 2.4, replace
``Require all granted`` with ``Allow from all`` and also add the line
``Order deny,allow`` above it.
-.. _Nginx: http://wiki.nginx.org/Main
+.. _Nginx: https://nginx.org/en/
.. _Apache: https://httpd.apache.org/
.. More details on configuring a mod_wsgi site to serve static files can be found
diff --git a/docs/howto/deployment/wsgi/uwsgi.txt b/docs/howto/deployment/wsgi/uwsgi.txt
index e21adbb990..a02c12f26c 100644
--- a/docs/howto/deployment/wsgi/uwsgi.txt
+++ b/docs/howto/deployment/wsgi/uwsgi.txt
@@ -7,7 +7,7 @@ How to use Django with uWSGI
uWSGI_ is a fast, self-healing and developer/sysadmin-friendly application
container server coded in pure C.
-.. _uWSGI: https://projects.unbit.it/uwsgi/
+.. _uWSGI: https://uwsgi-docs.readthedocs.io/
.. seealso::
@@ -39,18 +39,14 @@ uWSGI model
uWSGI operates on a client-server model. Your Web server (e.g., nginx, Apache)
communicates with a `django-uwsgi` "worker" process to serve dynamic content.
-See uWSGI's `background documentation`_ for more detail.
-
-.. _background documentation: https://projects.unbit.it/uwsgi/wiki/Background
Configuring and starting the uWSGI server for Django
----------------------------------------------------
uWSGI supports multiple ways to configure the process. See uWSGI's
-`configuration documentation`_ and `examples`_.
+`configuration documentation`_.
.. _configuration documentation: https://uwsgi.readthedocs.io/en/latest/Configuration.html
-.. _examples: https://projects.unbit.it/uwsgi/wiki/Example
Here's an example command to start a uWSGI server::
diff --git a/docs/howto/jython.txt b/docs/howto/jython.txt
index 607bbbdd1b..cdb9b06caf 100644
--- a/docs/howto/jython.txt
+++ b/docs/howto/jython.txt
@@ -27,7 +27,7 @@ such as `Apache Tomcat`_. Full JavaEE applications servers such as `GlassFish`_
or `JBoss`_ are also OK, if you need the extra features they include.
.. _`Apache Tomcat`: https://tomcat.apache.org/
-.. _GlassFish: https://glassfish.java.net/
+.. _GlassFish: https://javaee.github.io/glassfish/
.. _JBoss: https://www.jboss.org/
Installing Django
diff --git a/docs/howto/static-files/deployment.txt b/docs/howto/static-files/deployment.txt
index 6c116f816f..94b7157a90 100644
--- a/docs/howto/static-files/deployment.txt
+++ b/docs/howto/static-files/deployment.txt
@@ -73,7 +73,7 @@ type of web server -- faster but less full-featured. Some common choices are:
* Nginx_
* A stripped-down version of Apache_
-.. _Nginx: http://wiki.nginx.org/Main
+.. _Nginx: https://nginx.org/en/
.. _Apache: https://httpd.apache.org/
Configuring these servers is out of scope of this document; check each
@@ -142,8 +142,8 @@ as changing your :setting:`STATICFILES_STORAGE` setting.
For details on how you'd write one of these backends, see
:doc:`/howto/custom-file-storage`. There are 3rd party apps available that
provide storage backends for many common file storage APIs. A good starting
-point is the `overview at djangopackages.com
-<https://www.djangopackages.com/grids/g/storage-backends/>`_.
+point is the `overview at djangopackages.org
+<https://djangopackages.org/grids/g/storage-backends/>`_.
Learn more
==========
diff --git a/docs/internals/contributing/localizing.txt b/docs/internals/contributing/localizing.txt
index e3df902549..f0d89f9001 100644
--- a/docs/internals/contributing/localizing.txt
+++ b/docs/internals/contributing/localizing.txt
@@ -70,7 +70,7 @@ Django source tree, as for any code change:
.. _Transifex: https://www.transifex.com/
.. _Django project page: https://www.transifex.com/django/django/
-.. _Transifex User Guide: http://docs.transifex.com/
+.. _Transifex User Guide: https://docs.transifex.com/
.. _translating-documentation:
diff --git a/docs/internals/contributing/writing-code/unit-tests.txt b/docs/internals/contributing/writing-code/unit-tests.txt
index 74ec363b5a..6dbbf06518 100644
--- a/docs/internals/contributing/writing-code/unit-tests.txt
+++ b/docs/internals/contributing/writing-code/unit-tests.txt
@@ -60,7 +60,7 @@ Having problems? See :ref:`troubleshooting-unit-tests` for some common issues.
Running tests using ``tox``
---------------------------
-`Tox <http://tox.testrun.org/>`_ is a tool for running tests in different
+`Tox <https://tox.readthedocs.io/>`_ is a tool for running tests in different
virtual environments. Django includes a basic ``tox.ini`` that automates some
checks that our build server performs on pull requests. To run the unit tests
and other checks (such as :ref:`import sorting <coding-style-imports>`, the
@@ -272,7 +272,7 @@ associated tests will be skipped.
.. _gettext: https://www.gnu.org/software/gettext/manual/gettext.html
.. _selenium: https://pypi.python.org/pypi/selenium
.. _sqlparse: https://pypi.python.org/pypi/sqlparse
-.. _pip requirements files: https://pip.pypa.io/en/latest/user_guide.html#requirements-files
+.. _pip requirements files: https://pip.pypa.io/en/latest/user_guide/#requirements-files
Code coverage
-------------
diff --git a/docs/internals/contributing/writing-code/working-with-git.txt b/docs/internals/contributing/writing-code/working-with-git.txt
index 85ca6dfc85..1ace449189 100644
--- a/docs/internals/contributing/writing-code/working-with-git.txt
+++ b/docs/internals/contributing/writing-code/working-with-git.txt
@@ -18,7 +18,7 @@ Installing Git
==============
Django uses `Git`_ for its source control. You can `download
-<http://git-scm.com/download>`_ Git, but it's often easier to install with
+<https://git-scm.com/download>`_ Git, but it's often easier to install with
your operating system's package manager.
Django's `Git repository`_ is hosted on `GitHub`_, and it is recommended
@@ -34,7 +34,7 @@ Note that ``user.name`` should be your real name, not your GitHub nick. GitHub
should know the email you use in the ``user.email`` field, as this will be
used to associate your commits with your GitHub account.
-.. _Git: http://git-scm.com/
+.. _Git: https://git-scm.com/
.. _Git repository: https://github.com/django/django/
.. _GitHub: https://github.com/
diff --git a/docs/internals/contributing/writing-documentation.txt b/docs/internals/contributing/writing-documentation.txt
index e19b5854fd..d58c318408 100644
--- a/docs/internals/contributing/writing-documentation.txt
+++ b/docs/internals/contributing/writing-documentation.txt
@@ -427,7 +427,7 @@ Before you commit your docs, it's a good idea to run the spelling checker.
You'll need to install a couple packages first:
* `pyenchant <https://pypi.python.org/pypi/pyenchant/>`_ (which requires
- `enchant <http://www.abisource.com/projects/enchant/>`_)
+ `enchant <https://www.abisource.com/projects/enchant/>`_)
* `sphinxcontrib-spelling
<https://pypi.python.org/pypi/sphinxcontrib-spelling/>`_
diff --git a/docs/internals/git.txt b/docs/internals/git.txt
index 386a2a05a7..f71c1e921d 100644
--- a/docs/internals/git.txt
+++ b/docs/internals/git.txt
@@ -52,8 +52,8 @@ The source code for the `Djangoproject.com <https://www.djangoproject.com/>`_
website can be found at `github.com/django/djangoproject.com
<https://github.com/django/djangoproject.com>`_.
-.. _Git: http://git-scm.com/
-.. _documentation: http://git-scm.com/documentation
+.. _Git: https://git-scm.com/
+.. _documentation: https://git-scm.com/documentation
.. _branches: https://github.com/django/django/branches
.. _tags: https://github.com/django/django/tags
diff --git a/docs/internals/howto-release-django.txt b/docs/internals/howto-release-django.txt
index bfa42614ef..495b7217b5 100644
--- a/docs/internals/howto-release-django.txt
+++ b/docs/internals/howto-release-django.txt
@@ -155,7 +155,7 @@ OK, this is the fun part, where we actually push out a release!
#. Check `Jenkins`__ is green for the version(s) you're putting out. You
probably shouldn't issue a release until it's green.
- __ http://djangoci.com
+ __ https://djangoci.com
#. A release always begins from a release branch, so you should make sure
you're on a stable branch and up-to-date. For example::
diff --git a/docs/intro/contributing.txt b/docs/intro/contributing.txt
index 7824cdbe84..036d8880cf 100644
--- a/docs/intro/contributing.txt
+++ b/docs/intro/contributing.txt
@@ -71,7 +71,7 @@ probably got the answers.
.. admonition:: Python 3 required!
The current development version of Django doesn't support Python 2.7. Get
- Python 3 at `Python's download page <https://www.python.org/download/>`_ or
+ Python 3 at `Python's download page <https://www.python.org/downloads/>`_ or
with your operating system's package manager.
.. admonition:: For Windows users
@@ -105,7 +105,7 @@ have to download and install it, see `Git's download page`__.
If you're not that familiar with Git, you can always find out more about its
commands (once it's installed) by typing ``git help`` into the command line.
-__ http://git-scm.com/download
+__ https://git-scm.com/download
Getting a copy of Django's development version
==============================================
@@ -299,7 +299,7 @@ present in Django's official builds. If you click to view a particular build,
you can view the "Configuration Matrix" which shows failures broken down by
Python version and database backend.
-__ http://djangoci.com
+__ https://djangoci.com
.. note::
diff --git a/docs/intro/install.txt b/docs/intro/install.txt
index 7a338ee858..9861923b37 100644
--- a/docs/intro/install.txt
+++ b/docs/intro/install.txt
@@ -16,7 +16,7 @@ database called SQLite_ so you won't need to set up a database just yet.
.. _sqlite: https://sqlite.org/
-Get the latest version of Python at https://www.python.org/download/ or with
+Get the latest version of Python at https://www.python.org/downloads/ or with
your operating system's package manager.
.. admonition:: Django on Jython
diff --git a/docs/intro/reusable-apps.txt b/docs/intro/reusable-apps.txt
index c8ff7a7f83..90d807fd06 100644
--- a/docs/intro/reusable-apps.txt
+++ b/docs/intro/reusable-apps.txt
@@ -19,11 +19,10 @@ could save some of this repeated work?
Reusability is the way of life in Python. `The Python Package Index (PyPI)
<https://pypi.python.org/pypi>`_ has a vast range of packages you can use in
your own Python programs. Check out `Django Packages
-<https://www.djangopackages.com>`_ for existing reusable apps you could
-incorporate in your project. Django itself is also just a Python package. This
-means that you can take existing Python packages or Django apps and compose
-them into your own web project. You only need to write the parts that make
-your project unique.
+<https://djangopackages.org>`_ for existing reusable apps you could incorporate
+in your project. Django itself is also just a Python package. This means that
+you can take existing Python packages or Django apps and compose them into your
+own web project. You only need to write the parts that make your project unique.
Let's say you were starting a new project that needed a polls app like the one
we've been working on. How do you make this app reusable? Luckily, you're well
@@ -257,7 +256,7 @@ this. For a small app like polls, this process isn't too difficult.
new package, ``django-polls-0.1.tar.gz``.
For more information on packaging, see Python's `Tutorial on Packaging and
-Distributing Projects <https://packaging.python.org/en/latest/distributing.html>`_.
+Distributing Projects <https://packaging.python.org/distributing/>`_.
Using your own package
======================
@@ -303,7 +302,7 @@ the world! If this wasn't just an example, you could now:
* Post the package on a public repository, such as `the Python Package Index
(PyPI)`_. `packaging.python.org <https://packaging.python.org>`_ has `a good
- tutorial <https://packaging.python.org/en/latest/distributing.html#uploading-your-project-to-pypi>`_
+ tutorial <https://packaging.python.org/distributing/#uploading-your-project-to-pypi>`_
for doing this.
Installing Python packages with virtualenv
diff --git a/docs/misc/design-philosophies.txt b/docs/misc/design-philosophies.txt
index 60e375718e..8c0cac554e 100644
--- a/docs/misc/design-philosophies.txt
+++ b/docs/misc/design-philosophies.txt
@@ -27,7 +27,7 @@ template system a programmer uses.
Although Django comes with a full stack for convenience, the pieces of the
stack are independent of another wherever possible.
-.. _`loose coupling and tight cohesion`: http://c2.com/cgi/wiki?CouplingAndCohesion
+.. _`loose coupling and tight cohesion`: http://wiki.c2.com/?CouplingAndCohesion
.. _less-code:
@@ -66,7 +66,7 @@ as possible.
The `discussion of DRY on the Portland Pattern Repository`__
- __ http://c2.com/cgi/wiki?DontRepeatYourself
+ __ http://wiki.c2.com/?DontRepeatYourself
.. _explicit-is-better-than-implicit:
@@ -110,7 +110,7 @@ it (its human-readable name, options like default ordering, etc.) are
defined in the model class; all the information needed to understand a
given model should be stored *in* the model.
-.. _`Active Record`: http://www.martinfowler.com/eaaCatalog/activeRecord.html
+.. _`Active Record`: https://www.martinfowler.com/eaaCatalog/activeRecord.html
Database API
============
diff --git a/docs/ref/clickjacking.txt b/docs/ref/clickjacking.txt
index 2f72e18d2f..ade7069db5 100644
--- a/docs/ref/clickjacking.txt
+++ b/docs/ref/clickjacking.txt
@@ -35,7 +35,7 @@ load the resource in a frame if the request originated from the same site. If
the header is set to ``DENY`` then the browser will block the resource from
loading in a frame no matter which site made the request.
-.. _X-Frame-Options: https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options
+.. _X-Frame-Options: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
Django provides a few simple ways to include this header in responses from your
site:
@@ -127,5 +127,5 @@ See also
A `complete list`_ of browsers supporting ``X-Frame-Options``.
-.. _complete list: https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options#Browser_compatibility
+.. _complete list: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options#Browser_compatibility
.. _other clickjacking prevention techniques: https://en.wikipedia.org/wiki/Clickjacking#Prevention
diff --git a/docs/ref/contrib/gis/forms-api.txt b/docs/ref/contrib/gis/forms-api.txt
index 4058ced4d9..a85e1aa3cc 100644
--- a/docs/ref/contrib/gis/forms-api.txt
+++ b/docs/ref/contrib/gis/forms-api.txt
@@ -7,10 +7,10 @@ GeoDjango Forms API
GeoDjango provides some specialized form fields and widgets in order to visually
display and edit geolocalized data on a map. By default, they use
-`OpenLayers`_-powered maps, with a base WMS layer provided by `Metacarta`_.
+`OpenLayers`_-powered maps, with a base WMS layer provided by `NASA`_.
.. _OpenLayers: http://openlayers.org/
-.. _Metacarta: http://www.metacarta.com/
+.. _NASA: https://earthdata.nasa.gov/
Field arguments
===============
diff --git a/docs/ref/contrib/gis/geos.txt b/docs/ref/contrib/gis/geos.txt
index d23da05a8c..3bb1b22cea 100644
--- a/docs/ref/contrib/gis/geos.txt
+++ b/docs/ref/contrib/gis/geos.txt
@@ -18,7 +18,7 @@ and spatial operators. GEOS, now an OSGeo project, was initially developed and
maintained by `Refractions Research`__ of Victoria, Canada.
__ https://trac.osgeo.org/geos/
-__ http://sourceforge.net/projects/jts-topo-suite/
+__ https://sourceforge.net/projects/jts-topo-suite/
__ http://www.opengeospatial.org/standards/sfs
__ http://www.refractions.net/
diff --git a/docs/ref/contrib/gis/install/index.txt b/docs/ref/contrib/gis/install/index.txt
index 9b8e170b92..313a2107c9 100644
--- a/docs/ref/contrib/gis/install/index.txt
+++ b/docs/ref/contrib/gis/install/index.txt
@@ -257,7 +257,7 @@ Summary::
$ brew install gdal
$ brew install libgeoip
-__ http://brew.sh/
+__ https://brew.sh/
.. _Xcode: https://developer.apple.com/xcode/
.. _kyngchaos:
@@ -402,8 +402,8 @@ install :ref:`postgisasb`.
and contains shortcuts for the ASB as well as the 'SQL Shell',
which will launch a ``psql`` command window.
-__ http://www.enterprisedb.com/products-services-training/pgdownload
-__ http://www.enterprisedb.com
+__ https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
+__ https://www.enterprisedb.com
.. _postgisasb:
diff --git a/docs/ref/contrib/gis/install/spatialite.txt b/docs/ref/contrib/gis/install/spatialite.txt
index 5871233ee1..21208ebfb4 100644
--- a/docs/ref/contrib/gis/install/spatialite.txt
+++ b/docs/ref/contrib/gis/install/spatialite.txt
@@ -133,4 +133,4 @@ following to your ``settings.py``::
SPATIALITE_LIBRARY_PATH='/usr/local/lib/mod_spatialite.dylib'
-.. _Homebrew: http://brew.sh/
+.. _Homebrew: https://brew.sh/
diff --git a/docs/ref/contrib/postgres/fields.txt b/docs/ref/contrib/postgres/fields.txt
index e69e6e5d80..fa9435bccd 100644
--- a/docs/ref/contrib/postgres/fields.txt
+++ b/docs/ref/contrib/postgres/fields.txt
@@ -278,7 +278,7 @@ A more useful index is a ``GIN`` index, which you should create using a
similar to PostgreSQL's ``text`` type.
.. _citext: https://www.postgresql.org/docs/current/static/citext.html
- .. _the performance considerations: https://www.postgresql.org/docs/current/static/citext.html#AEN169274
+ .. _the performance considerations: https://www.postgresql.org/docs/current/static/citext.html#AEN178177
``HStoreField``
===============
diff --git a/docs/ref/contrib/sitemaps.txt b/docs/ref/contrib/sitemaps.txt
index 5fa37613b0..9196bc2a5f 100644
--- a/docs/ref/contrib/sitemaps.txt
+++ b/docs/ref/contrib/sitemaps.txt
@@ -8,7 +8,7 @@ The sitemap framework
Django comes with a high-level sitemap-generating framework that makes
creating sitemap_ XML files easy.
-.. _sitemap: http://www.sitemaps.org/
+.. _sitemap: https://www.sitemaps.org/
Overview
========
@@ -226,7 +226,7 @@ Note:
default priority of a page is ``0.5``. See the `sitemaps.org
documentation`_ for more.
- .. _sitemaps.org documentation: http://www.sitemaps.org/protocol.html#prioritydef
+ .. _sitemaps.org documentation: https://www.sitemaps.org/protocol.html#prioritydef
.. attribute:: Sitemap.protocol
@@ -244,7 +244,7 @@ Note:
This attribute defines the maximum number of URLs included on each page
of the sitemap. Its value should not exceed the default value of
``50000``, which is the upper limit allowed in the `Sitemaps protocol
- <http://www.sitemaps.org/protocol.html#index>`_.
+ <https://www.sitemaps.org/protocol.html#index>`_.
.. attribute:: Sitemap.i18n
@@ -460,7 +460,7 @@ generate a Google News compatible sitemap:
<?xml version="1.0" encoding="UTF-8"?>
<urlset
- xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
+ xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
{% spaceless %}
{% for url in urlset %}
diff --git a/docs/ref/csrf.txt b/docs/ref/csrf.txt
index fe5a70845e..802d7251ab 100644
--- a/docs/ref/csrf.txt
+++ b/docs/ref/csrf.txt
@@ -145,8 +145,8 @@ Setting the token on the AJAX request
Finally, you'll have to actually set the header on your AJAX request, while
protecting the CSRF token from being sent to other domains using
-`settings.crossDomain <https://api.jquery.com/jQuery.ajax>`_ in jQuery 1.5.1 and
-newer:
+`settings.crossDomain <https://api.jquery.com/jQuery.ajax/>`_ in jQuery 1.5.1
+and newer:
.. code-block:: javascript
diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt
index 587c1ebd65..7df2a8e1f9 100644
--- a/docs/ref/databases.txt
+++ b/docs/ref/databases.txt
@@ -721,8 +721,8 @@ Oracle notes
Django supports `Oracle Database Server`_ versions 12.1 and higher. Version
5.2 or higher of the `cx_Oracle`_ Python driver is required.
-.. _`Oracle Database Server`: http://www.oracle.com/
-.. _`cx_Oracle`: http://cx-oracle.sourceforge.net/
+.. _`Oracle Database Server`: https://www.oracle.com/
+.. _`cx_Oracle`: https://oracle.github.io/python-cx_Oracle/
In order for the ``python manage.py migrate`` command to work, your Oracle
database user must have privileges to run the following commands:
diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt
index 9ffb624879..2de0ab6a8b 100644
--- a/docs/ref/django-admin.txt
+++ b/docs/ref/django-admin.txt
@@ -955,7 +955,7 @@ Python interpreter, use ``python`` as the interface name, like so::
django-admin shell -i python
.. _IPython: https://ipython.org/
-.. _bpython: http://bpython-interpreter.org/
+.. _bpython: https://bpython-interpreter.org/
.. django-admin-option:: --nostartup
diff --git a/docs/ref/middleware.txt b/docs/ref/middleware.txt
index 22a2d1a504..5c33d196d3 100644
--- a/docs/ref/middleware.txt
+++ b/docs/ref/middleware.txt
@@ -287,7 +287,7 @@ If you wish to submit your site to the `browser preload list`_, set the
you may need to set the :setting:`SECURE_PROXY_SSL_HEADER` setting.
.. _"Strict-Transport-Security" header: https://en.wikipedia.org/wiki/Strict_Transport_Security
-.. _browser preload list: https://hstspreload.appspot.com/
+.. _browser preload list: https://hstspreload.org/
.. _x-content-type-options:
@@ -303,12 +303,9 @@ If your site serves user-uploaded files, a malicious user could upload a
specially-crafted file that would be interpreted as HTML or JavaScript by
the browser when you expected it to be something harmless.
-To learn more about this header and how the browser treats it, you can
-read about it on the `IE Security Blog`_.
-
To prevent the browser from guessing the content type and force it to
always use the type provided in the ``Content-Type`` header, you can pass
-the ``X-Content-Type-Options: nosniff`` header. ``SecurityMiddleware`` will
+the `X-Content-Type-Options: nosniff`__ header. ``SecurityMiddleware`` will
do this for all responses if the :setting:`SECURE_CONTENT_TYPE_NOSNIFF` setting
is ``True``.
@@ -320,7 +317,7 @@ you are using Django to do something like require authorization in order to
download files and you cannot set the header using your Web server, this
setting will be useful.
-.. _IE Security Blog: http://blogs.msdn.com/b/ie/archive/2008/09/02/ie8-security-part-vi-beta-2-update.aspx
+__ https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
.. _x-xss-protection:
@@ -347,7 +344,7 @@ header. ``SecurityMiddleware`` will do this for all responses if the
sanitizing <cross-site-scripting>` all input to prevent XSS attacks.
.. _XSS attack: https://en.wikipedia.org/wiki/Cross-site_scripting
-.. _X-XSS-Protection header: http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx
+.. _X-XSS-Protection header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
.. _ssl-redirect:
diff --git a/docs/ref/utils.txt b/docs/ref/utils.txt
index 19e8361a67..985514473f 100644
--- a/docs/ref/utils.txt
+++ b/docs/ref/utils.txt
@@ -414,7 +414,7 @@ https://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004
.. class:: Rss201rev2Feed(RssFeed)
- Spec: https://cyber.law.harvard.edu/rss/rss.html
+ Spec: https://cyber.harvard.edu/rss/rss.html
``RssUserland091Feed``
----------------------
diff --git a/docs/ref/validators.txt b/docs/ref/validators.txt
index e0da3fa530..4bf6a9eafb 100644
--- a/docs/ref/validators.txt
+++ b/docs/ref/validators.txt
@@ -301,4 +301,4 @@ to, or in lieu of custom ``field.clean()`` methods.
.. versionadded:: 1.11
Uses Pillow to ensure that the ``value`` is `a valid image extension
- <https://pillow.readthedocs.org/en/latest/handbook/image-file-formats.html>`_.
+ <https://pillow.readthedocs.io/en/latest/handbook/image-file-formats.html>`_.
diff --git a/docs/topics/db/optimization.txt b/docs/topics/db/optimization.txt
index 66326f2fb1..ea29108c0c 100644
--- a/docs/topics/db/optimization.txt
+++ b/docs/topics/db/optimization.txt
@@ -29,7 +29,7 @@ readability of your code. **All** of the suggestions below come with the caveat
that in your circumstances the general principle might not apply, or might even
be reversed.
-.. _django-debug-toolbar: https://github.com/django-debug-toolbar/django-debug-toolbar/
+.. _django-debug-toolbar: https://github.com/jazzband/django-debug-toolbar/
Use standard DB optimization techniques
=======================================
diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt
index 016aef9867..b95173773b 100644
--- a/docs/topics/db/queries.txt
+++ b/docs/topics/db/queries.txt
@@ -1088,7 +1088,7 @@ For example, a ``Blog`` object ``b`` has access to a list of all related
All examples in this section use the sample ``Blog``, ``Author`` and ``Entry``
models defined at the top of this page.
-.. _descriptors: http://users.rcn.com/python/download/Descriptor.htm
+.. _descriptors: https://docs.python.org/3/howto/descriptor.html
One-to-many relationships
-------------------------
diff --git a/docs/topics/http/sessions.txt b/docs/topics/http/sessions.txt
index 656044ee3f..2112926cc0 100644
--- a/docs/topics/http/sessions.txt
+++ b/docs/topics/http/sessions.txt
@@ -167,7 +167,7 @@ and the :setting:`SECRET_KEY` setting.
.. _`common limit of 4096 bytes`: https://tools.ietf.org/html/rfc2965#section-5.3
.. _`replay attacks`: https://en.wikipedia.org/wiki/Replay_attack
-.. _`speed of your site`: http://yuiblog.com/blog/2007/03/01/performance-research-part-3/
+.. _`speed of your site`: https://yuiblog.com/blog/2007/03/01/performance-research-part-3/
Using sessions in views
=======================
diff --git a/docs/topics/install.txt b/docs/topics/install.txt
index 8172083402..60affd4f29 100644
--- a/docs/topics/install.txt
+++ b/docs/topics/install.txt
@@ -10,7 +10,7 @@ Install Python
Being a Python Web framework, Django requires Python. See
:ref:`faq-python-version-support` for details.
-Get the latest version of Python at https://www.python.org/download/ or with
+Get the latest version of Python at https://www.python.org/downloads/ or with
your operating system's package manager.
.. admonition:: Django on Jython
@@ -119,8 +119,8 @@ database queries, Django will need permission to create a test database.
.. _MySQL: https://www.mysql.com/
.. _psycopg2: http://initd.org/psycopg/
.. _SQLite: https://www.sqlite.org/
-.. _cx_Oracle: http://cx-oracle.sourceforge.net/
-.. _Oracle: http://www.oracle.com/
+.. _cx_Oracle: https://oracle.github.io/python-cx_Oracle/
+.. _Oracle: https://www.oracle.com/
.. _removing-old-versions-of-django:
@@ -243,4 +243,4 @@ When you want to update your copy of the Django source code, just run the
command ``git pull`` from within the ``django`` directory. When you do this,
Git will automatically download any changes.
-.. _Git: http://git-scm.com/
+.. _Git: https://git-scm.com/
diff --git a/docs/topics/performance.txt b/docs/topics/performance.txt
index 8f2516a4eb..1306a28c8e 100644
--- a/docs/topics/performance.txt
+++ b/docs/topics/performance.txt
@@ -56,10 +56,10 @@ Django tools
~~~~~~~~~~~~
`django-debug-toolbar
-<https://github.com/django-debug-toolbar/django-debug-toolbar/>`_ is a very
-handy tool that provides insights into what your code is doing and how much
-time it spends doing it. In particular it can show you all the SQL queries your
-page is generating, and how long each one has taken.
+<https://github.com/jazzband/django-debug-toolbar/>`_ is a very handy tool that
+provides insights into what your code is doing and how much time it spends
+doing it. In particular it can show you all the SQL queries your page is
+generating, and how long each one has taken.
Third-party panels are also available for the toolbar, that can (for example)
report on cache performance and template rendering times.
diff --git a/docs/topics/templates.txt b/docs/topics/templates.txt
index 3c71608a45..e2930c85de 100644
--- a/docs/topics/templates.txt
+++ b/docs/topics/templates.txt
@@ -831,4 +831,4 @@ Implementing a custom context processor is as simple as defining a function.
.. _Jinja2: http://jinja.pocoo.org/
.. _DEP 182: https://github.com/django/deps/blob/master/final/0182-multiple-template-engines.rst
-.. _Django Debug Toolbar: https://github.com/django-debug-toolbar/django-debug-toolbar
+.. _Django Debug Toolbar: https://github.com/jazzband/django-debug-toolbar
diff --git a/docs/topics/testing/advanced.txt b/docs/topics/testing/advanced.txt
index 192a62c516..50307269b8 100644
--- a/docs/topics/testing/advanced.txt
+++ b/docs/topics/testing/advanced.txt
@@ -740,5 +740,5 @@ listed here because of the ``source`` flag passed to the previous command.
For more options like annotated HTML listings detailing missed lines, see the
`coverage.py`_ docs.
-.. _coverage.py: http://nedbatchelder.com/code/coverage/
+.. _coverage.py: http://coverage.readthedocs.io/
.. _install coverage.py: https://pypi.python.org/pypi/coverage