Я немного посмотрел на то, как другие сайты могут справиться с этим, и не увидел ничего, что бросилось бы в меня. Я работаю над проектом, где вы можете создавать страницы, ссылки на которые есть на любой другой странице. Вот где проблема встает для меня.
Я не уверен, как мне следует ссылаться на эти страницы. Я на самом деле думал только о двух идеях:
website.com/page/My-Page-Name
website.com/My-Page-Name
Отметим, что я использую mod_rewrite, чтобы перенаправить их в файл, который принимает имя страницы в качестве параметра, получает всю необходимую информацию из БД и отображает ее. Здесь возникает проблема для идеи № 2.
Идея # 1 работает и надежна, но я думаю, что это несколько уродливо, и вы не видите много сайтов, которые ссылаются на другие страницы сайта с другой информацией, добавленной в URL.
РЕДАКТИРОВАТЬ для большей ясности. Намерение упомянутых страниц должно быть статичным в том смысле, что они будут отображать только то, что пользователь их отображает. Они никогда не будут исключать какие-либо данные, в этом случае страницы, отформатированные как в этом примере, будут более подходящими. Я бы больше сравнил эти страницы с часто задаваемыми вопросами SO или со страницей, в которой URL-адреса не отформатированы таким образом.
Идея # 2 выглядит чище, но сталкивается с некоторыми проблемами при использовании mod_rewrite и создании указанных страниц.
Существуют другие части сайта, связанные с ними, которые могут быть имитированы и вызывать конфликты, если вы назвали страницу одинаковой. Например, website.com/page1/
указывает на страницу 1, которая уже существует, но возникнет конфликт, если кто-то захочет создать страницу с именем page1.
Таким образом, для реализации этой идеи мне нужно было бы отфильтровать и ограничить пользователей в том, какие имена страниц они могли бы использовать, и в то же время это могло бы сделать функцию немного неинтуитивной и оставить их почесывать голову. К тому же, это кажется немного уродливым, кодируя его, имея массив недопустимых имен страниц и проверяя его.
Последний бит, касающийся mod_rewrite для перенаправления на что-то подобное: RewriteRule ^([A-Za-z0-9-]+)$ getPage.php?p=$1
становится немного уродливым, поскольку он становится немного жадным даже при ограничении того, что будет, за исключением.
Так есть ли у кого-нибудь понимание каких-либо других возможных методов решения этой проблемы или как реализация одного из двух упомянутых может отличаться / лучше?
Спасибо.