# w3id.org > Permanent Identifiers for the Web A secure, permanent URL redirection service for Web applications, run by the W3C Permanent Identifier Community Group. ## Table of Contents ### Overview - [What is w3id.org?](https://docs.w3id.org/overview.md) - [Purpose](https://docs.w3id.org/overview/purpose.md) - [Scope](https://docs.w3id.org/overview/scope.md) ### Guides - [Guides](https://docs.w3id.org/guides.md) - [Creating an identifier](https://docs.w3id.org/guides/create-an-id.md) - [Writing .htaccess rules](https://docs.w3id.org/guides/htaccess.md) - [Content negotiation](https://docs.w3id.org/guides/content-negotiation.md) - [Maintaining an identifier](https://docs.w3id.org/guides/maintain-an-id.md) - [Testing your changes](https://docs.w3id.org/guides/testing.md) - [Running a local server](https://docs.w3id.org/guides/local-server.md) ### Rules - [Rule catalogue](https://docs.w3id.org/rules.md) #### Files and directories - [File and directory rules](https://docs.w3id.org/rules/files.md) - [Only .htaccess and a README belong in an identifier directory](https://docs.w3id.org/rules/files/only-allowed-names.md) - [An .htaccess must contain at least one directive](https://docs.w3id.org/rules/files/no-empty-htaccess.md) - [Tracked files are not programs and must not be executable](https://docs.w3id.org/rules/files/no-executable-bit.md) - [An identifier directory needs an .htaccess](https://docs.w3id.org/rules/files/htaccess-required.md) - [Prefer README.md](https://docs.w3id.org/rules/files/prefer-readme-md.md) #### Repository shape - [Repository-shape rules](https://docs.w3id.org/rules/tree.md) - [Identifier directories must be under ids/](https://docs.w3id.org/rules/tree/identifier-under-ids.md) - [Directory names must not collide on case](https://docs.w3id.org/rules/tree/no-case-collision.md) - [Keep a change to one identifier](https://docs.w3id.org/rules/tree/only-own-identifier.md) #### .htaccess syntax - [No whitespace inside the flag list](https://docs.w3id.org/rules/htaccess/no-flag-whitespace.md) - [Separate the flag list from the argument before it](https://docs.w3id.org/rules/htaccess/space-before-flags.md) - [Rewrite flags must be names mod_rewrite recognises](https://docs.w3id.org/rules/htaccess/valid-rewrite-flags.md) - [Apache has no inline comment syntax](https://docs.w3id.org/rules/htaccess/no-inline-comment.md) - [Write rewrite flags in upper case](https://docs.w3id.org/rules/htaccess/uppercase-rewrite-flags.md) #### Rules that never match - [RewriteRule does nothing without RewriteEngine on](https://docs.w3id.org/rules/htaccess/rewrite-engine-required.md) - [Patterns are relative to the directory](https://docs.w3id.org/rules/htaccess/pattern-relative-to-dir.md) - [Make an optional trailing path group optional](https://docs.w3id.org/rules/htaccess/anchor-patterns.md) - [A greedy capture before an optional slash swallows the slash](https://docs.w3id.org/rules/htaccess/no-greedy-capture.md) - [Escape literal dots in patterns](https://docs.w3id.org/rules/htaccess/escape-literal-dots.md) #### Redirect targets - [Do not build the target hostname from the request](https://docs.w3id.org/rules/htaccess/no-open-redirect.md) - [Redirect to HTTPS, not HTTP](https://docs.w3id.org/rules/htaccess/https-target.md) - [GitHub targets must be raw file URLs](https://docs.w3id.org/rules/htaccess/github-raw-target.md) - [Redirect targets must not use RawGit](https://docs.w3id.org/rules/htaccess/no-rawgit.md) - [No doubled slashes in the redirect target](https://docs.w3id.org/rules/htaccess/no-double-slash.md) - [Do not redirect back to w3id.org](https://docs.w3id.org/rules/htaccess/no-self-redirect.md) - [Prefer a temporary redirect over a permanent one](https://docs.w3id.org/rules/htaccess/avoid-permanent-redirect.md) #### Directives and negotiation - [Only redirect-related directives may be used](https://docs.w3id.org/rules/htaccess/allowed-directives.md) - [Do not copy the truncated CORS header line](https://docs.w3id.org/rules/htaccess/valid-cors-header.md) - [A content-negotiation chain should not end in 406](https://docs.w3id.org/rules/htaccess/no-406-fallback.md) - [Options directives in an identifier's .htaccess](https://docs.w3id.org/rules/htaccess/no-options-directive.md) #### File format - [File format rules](https://docs.w3id.org/rules/format.md) - [Files must not begin with a byte order mark](https://docs.w3id.org/rules/format/no-bom.md) - [Files must use Unix line endings](https://docs.w3id.org/rules/format/no-crlf.md) - [Files must end with a newline](https://docs.w3id.org/rules/format/final-newline.md) - [Lines must not end in whitespace that does nothing](https://docs.w3id.org/rules/format/no-trailing-whitespace.md) - [No long runs of blank lines](https://docs.w3id.org/rules/format/no-excessive-blank-lines.md) #### Markdown - [Markdown rules](https://docs.w3id.org/rules/markdown.md) - [A stack of manual line breaks wants to be a list](https://docs.w3id.org/rules/markdown/prefer-list-over-line-breaks.md) #### Pull request shape - [Pull request shape rules](https://docs.w3id.org/rules/git.md) - [Keep the number of commits small](https://docs.w3id.org/rules/git/minimal-commits.md) - [Rebase rather than merging master into your branch](https://docs.w3id.org/rules/git/no-merge-commits.md) - [Name the identifier in the commit message](https://docs.w3id.org/rules/git/descriptive-commit-message.md) - [Commit messages should not link to an agent session](https://docs.w3id.org/rules/git/no-session-link.md) - [Start from a recent master](https://docs.w3id.org/rules/git/branch-not-stale.md) #### Metadata - [Metadata rules](https://docs.w3id.org/rules/meta.md) - [Document the root of an identifier](https://docs.w3id.org/rules/meta/document-identifier-root.md) - [Maintainer contact must include a GitHub username](https://docs.w3id.org/rules/meta/maintainer-github-username.md) - [Every rule must have a documentation page](https://docs.w3id.org/rules/meta/rule-docs-exist.md) ### Other - [.htaccess rules](https://docs.w3id.org/rules/htaccess.md) - [A new layout, a rule checker, and a documentation site](https://docs.w3id.org/news/2026-10-02-checker-and-docs.md) - [FAQ](https://docs.w3id.org/faq.md) - [News](https://docs.w3id.org/news.md)