Browse Source

Updated various links in docs to avoid redirects

Thanks Tim Graham and Mariusz Felisiak for review and completion.
Claude Paroz 7 years ago
parent
commit
01f658644a
37 changed files with 70 additions and 78 deletions
  1. 1 1
      docs/conf.py
  2. 1 1
      docs/faq/install.txt
  3. 1 1
      docs/howto/deployment/checklist.txt
  4. 1 1
      docs/howto/deployment/wsgi/modwsgi.txt
  5. 2 6
      docs/howto/deployment/wsgi/uwsgi.txt
  6. 1 1
      docs/howto/jython.txt
  7. 3 3
      docs/howto/static-files/deployment.txt
  8. 1 1
      docs/internals/contributing/localizing.txt
  9. 2 2
      docs/internals/contributing/writing-code/unit-tests.txt
  10. 2 2
      docs/internals/contributing/writing-code/working-with-git.txt
  11. 1 1
      docs/internals/contributing/writing-documentation.txt
  12. 2 2
      docs/internals/git.txt
  13. 1 1
      docs/internals/howto-release-django.txt
  14. 3 3
      docs/intro/contributing.txt
  15. 1 1
      docs/intro/install.txt
  16. 6 7
      docs/intro/reusable-apps.txt
  17. 3 3
      docs/misc/design-philosophies.txt
  18. 2 2
      docs/ref/clickjacking.txt
  19. 2 2
      docs/ref/contrib/gis/forms-api.txt
  20. 1 1
      docs/ref/contrib/gis/geos.txt
  21. 3 3
      docs/ref/contrib/gis/install/index.txt
  22. 1 1
      docs/ref/contrib/gis/install/spatialite.txt
  23. 1 1
      docs/ref/contrib/postgres/fields.txt
  24. 4 4
      docs/ref/contrib/sitemaps.txt
  25. 2 2
      docs/ref/csrf.txt
  26. 2 2
      docs/ref/databases.txt
  27. 1 1
      docs/ref/django-admin.txt
  28. 4 7
      docs/ref/middleware.txt
  29. 1 1
      docs/ref/utils.txt
  30. 1 1
      docs/ref/validators.txt
  31. 1 1
      docs/topics/db/optimization.txt
  32. 1 1
      docs/topics/db/queries.txt
  33. 1 1
      docs/topics/http/sessions.txt
  34. 4 4
      docs/topics/install.txt
  35. 4 4
      docs/topics/performance.txt
  36. 1 1
      docs/topics/templates.txt
  37. 1 1
      docs/topics/testing/advanced.txt

+ 1 - 1
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'

+ 1 - 1
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:
 

+ 1 - 1
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
 ---------------------------------

+ 1 - 1
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

+ 2 - 6
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::
 

+ 1 - 1
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

+ 3 - 3
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
 ==========

+ 1 - 1
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:
 

+ 2 - 2
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
 -------------

+ 2 - 2
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/
 

+ 1 - 1
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/>`_

+ 2 - 2
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
 

+ 1 - 1
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::

+ 3 - 3
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::
 

+ 1 - 1
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

+ 6 - 7
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

+ 3 - 3
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
 ============

+ 2 - 2
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

+ 2 - 2
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
 ===============

+ 1 - 1
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/
 

+ 3 - 3
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:
 

+ 1 - 1
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/

+ 1 - 1
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``
 ===============

+ 4 - 4
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 %}

+ 2 - 2
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
 

+ 2 - 2
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:

+ 1 - 1
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
 

+ 4 - 7
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:
 

+ 1 - 1
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``
 ----------------------

+ 1 - 1
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>`_.

+ 1 - 1
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
 =======================================

+ 1 - 1
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
 -------------------------

+ 1 - 1
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
 =======================

+ 4 - 4
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/

+ 4 - 4
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.

+ 1 - 1
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

+ 1 - 1
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