Конечные косые черты на некоторых URL, но не на других - хорошая практика? Я должен перенаправить? - PullRequest
1 голос
/ 06 февраля 2012

Я пытался стандартизировать URL всех своих сайтов перед запуском (по очевидным причинам) и проводил много исследований по этому вопросу.Я пришел к следующим выводам:

  1. Неважно, используете ли вы принудительный конечный слеш или принудительный нет конечного слеш, если у вас нет нескольких URL длята же страница.

  2. Это выглядит лучше и имеет больше смысла для многих людей, если каталоги / коллекции (т. е. посты / или статьи /) имеют косую черту, а "файлы" илиопределенные элементы (например, статья или сообщение в блоге) не (т. е. posts / 2012-02-05-Stackoverflow-rules или article / 12-Proper-URLs).

СейчасЯ, очевидно, открыт для дебатов / других мнений по этому вопросу, но сейчас я склоняюсь к этому методу URL ... С учетом вышесказанного, что будет лучшим способом применения этого стандарта?Моя система основана на модулях, я понятия не имею, сколько у меня будет модулей, и я действительно предпочел бы не редактировать файл .htaccess с новым правилом mod_rewrite для каждого нового модуля, который я (или кто-то еще) добавляет - который просто запутывается.

Есть ли какой-нибудь простой и надежный способ сделать это без htaccess в PHP?Мне даже нужно для?Все URL будут сгенерированы одним классом, который усилит эти стандарты, и это правильная структура MVC - поэтому добавить код для страниц, которые не соответствуют вышеуказанным стандартам, не так уж сложно, ноЯ просто не уверен, как лучше всего это сделать.

Уточнение

Редактировать Чтобы уточнитьЯ пытаюсь выяснить, как сделать, чтобы некоторые ссылки имели конечные косые черты, а некоторые ссылки не имеют завершающие косые черты *, и если кто-то ссылается на неправильный URL-адрес (нет конечного слеша на URL, который долженесть один, или наоборот) он перенаправит пользователя на правильный URL.

* Примером будет

  • www.example.com / article /
  • www.example.com / blog /
  • www.example.com / forums /

Для страниц, которым требуется косая черта, и

  • www.example.com/articles/21-Article-Name
  • www.example.com / blog / 2012/02/06 / Blog-Post
  • www.example.com / forums / post / 29531 / Post-Title

Для страниц, на которых не должно быть косой черты.В основном у «каталогов» есть косые черты, а у «файлов» нет. выделенный текст

Итак, в принципе, как лучше всего это сделать? Очевидно, что все внутренниессылки будут соответствовать этому стандарту, но я не могу контролировать другие сайты - и их ссылки с косой чертой или без нее могут повредить моему SEO.И что вы думаете по поводу этого стиля URL?

Ответы [ 2 ]

2 голосов
/ 06 февраля 2012

Независимо от того, есть они у вас или нет, для вас это в основном вопрос удобства. Вы должны быть последовательными и убедиться, что они являются только одним «истинным» URL на страницу. Что касается перенаправления, я бы рекомендовал не перенаправлять только потому, что нет или есть косая черта. Перенаправление просто накладные расходы в этих случаях.

Используйте канонический метатег, чтобы указать поисковым системам, что такое «истинный» URL. Я обычно создаю функцию централизации, которая может проверять текущий URL по некоторым правилам и генерировать «истинный» канонический URL. Если ваша централизованная функция становится слишком большой или имеет слишком много правил, ваша структура URL, вероятно, слишком сложна.

0 голосов
/ 06 февраля 2012

У нас недавно была такая же проблема.Мы решили пойти с / после всего, кроме страниц, где может быть? Query_data.Это сделало наше обнаружение намного проще.Просто проверьте, что в конце существует косая черта?Мы использовали PHP для этого.Я уверен, что есть подход .htaccess тоже.Это будет одним из тех, что лучше всего подходит для вашего сценария.Возможно, вы захотите взглянуть и на канонические теги, а также на правильные перенаправления 301 (http://en.wikipedia.org/wiki/HTTP_301), это также сделает ваши записи в поисковой системе более ясными.

...