Flector 5
Обновлено:
При установке структуры постоянных ссылок в виде "/%category%/%postname%.html " все ссылки на записи начинают заканчиваться на ".html ". Однако, этот формат ссылок никак не влияет на ссылки страниц. Что немного раздражает – подобной структурой ссылок мы подчеркиваем, что на нашем сайте является страницей, а что нет. Страница это то, что с ".html " в конце, а все остальное это рубрики, метки или еще какие другие таксономии. Ссылки на страницы в данном контексте выбиваются из общей картины – они кажутся ссылками на рубрики, хотя это и не так. Плагин эту неприятную ситуацию исправляет, добавляя ссылкам на страницы окончание ".html ".
1 Распаковываем архив.
2 Копируем файл в папку /wp-content/plugins/ .
3 Заходим в админку блога на вкладку "Плагины " и активируем плагин.
Настроек в плагине нет и сразу после своей активации он начинает работать. Теперь все ссылки на страницы превратятся из таких:
Вот в такие:
Но как быть в том случае, если вам надо изменить ".html " на ".htm " или вообще на ".php "? В плагине совсем нет никаких настроек, поэтому его придется отредактировать вручную. Для этого откройте файл плагина и измените в нем следующие строчки:
13 | $wp_rewrite -> |
$wp_rewrite->
18 | $wp_rewrite -> page_structure = "%pagename%.html" ; |
$wp_rewrite->page_structure="%pagename%.html";
Вместо ".html " пропишите нужное вам окончание. После этого вам необходимо будет деактивировать и активировать плагин заново. Сразу после повторной активации плагина все ссылки на ваши страницы будут содержать то окончание, которое вы прописали в файле плагина.
Я отнес данный плагин к рубрике "SEO ", но формально, конечно, он к этой рубрике не имеет никакого отношения. Поисковикам откровенно наплевать, как выглядят ссылки на ваши записи, страницы или рубрики. Да и вашим посетителям, по большому счету, это тоже неважно. Но с точки зрения эстетичности ссылок данный плагин необходим. В конце концов, вы же изменили структуру постоянных ссылок на более красивую, хотя это и не имеет никакого смысла с точки зрения SEO-оптимизации блога.
Документация
Шаблон {{When pagename is }} предназначен для использования внутри других шаблонов. Он помогает другим шаблонам определить, на какой странице они выполняются. Шаблон проверяет на совпадение имя страницы по заданному образцу {{When on page }} .
Шаблон может обрабатывать более одного параметра. Большинство параметров не имеют определенного имени, поскольку их имена используются для введения образца поиска. Например:
{{When pagename is | /doc = Doc page text | other = Other pages text }}
Если шаблон включен на странице "Template:Example/doc" код выше вернет текст для страницы документации.
Doc page text
Если шаблон включен на другой странице, имя которой не содержит /doc, то код вернет текст для остальных страниц.
{{When pagename is | User:Example/test = Text for "User:Example/test". | User:Example = Text for "User:Example". | User talk:Example = Text for "User talk:Example". | User:Example/+ = Matches "User:Example" and "User:Example/test". | Example = Matches "User:Example", "User talk:Example", "Template:Example" and so on, but not "User:Example/something". | User:Example/* = Matches "User:Example/something", but not "User:Example". | User talk:Example/* = Matches "User talk:Example/something". | Example/* = Matches "User:Example/something" and "User talk:Example/something". | /something = Any pagename that ends in "/something". | /doc = Any pagename that ends in "/doc". | /some* = Any subpage name beginning with "/some" or "/Some". | /arch* = Matches "User talk:Example/Archive 1". | basepage = Text for any basepage. | subpage = Text for any subpage. | other = Text for any page. }}
Сравнение производится сверху вниз и возвращается тот вариант, в котором произошло совпадение. Под словами «сверху вниз» подразумевается порядок вариантов выше, а не порядок параметров передаваемых в шаблон. У шаблона нет ограничений на количество параметров, которые можно передать, кроме ограничений наложенных сервером и движком MediaWiki.
Большинство проверок не зависят от регистра букв. Однако вроде " /test " совпадет с "User:Example/test", но не из "User:Example/Test".
Проверка на совпадение с частью имени подстраницы, такой как " /some* " имеет некоторые ограничения. См. посвященный этому разделу ниже.
Дозволяется задавать пустое значение в параметре сравнения, при совпадении с образцом дальнейшее сравнение прекращается и шаблон возвращает пустую строку. Это может использоваться для следующих целей:
{{When pagename is | /doc = | /sandbox = Sandbox text | other = Other pages text }}
Код выше ничего не отобразит, если шаблон вызовется на странице /doc, но на странице /sandbox он вернет текст для страницы песочницы. А на других страницах отобразится:
Sandbox text
And when on any other page it will return this:
Other pages text
Также этот шаблон может сравнивать часть имени подстраницы. Например:
{{When pagename is | /archiv* = Archive page text | other = Other pages text }}
На странице "User:Example/Archive 1" код выше вернет текст для остальных страниц:
Archive page text
Название параметра образца сравнения " /some* " не должно содержать заглавных букв, но совпадение будет на подстранице содержать как большие, так и маленькие буквы, как "User:Example/SomeThing" и "User:Example/something".
Сопоставимая часть имени страницы в образце может содержать 4, 6 и 8 символов. Сравнение с "/some*", "/someth*" и "/somethin*" works, but using "/som*" или "/somet*" doesn"t work.
Сначала сравниваются длинные образцы, например если заданы оба образца "somethin*" и "/some*", и текущая станица называется "User:Example/Something", то шаблон вернет то, что задано в параметре"/somethin*".
Для проверки и демонстрации работы шаблон обрабатывает параметр page. Например:
{{When pagename is | /test = Test pages text | other = Other pages text | page = Template:Example/test }}
No matter on what kind of page the code above is used it will return this:
Test pages text
The page parameter makes this template behave exactly as if on that page. The pagename doesn"t have to be an existing page.
If the page parameter is empty or undefined, the name of the current page determines the result.
You can make it so your template also understands the page parameter. That means you can demonstrate the different appearances of your template in the documentation for your template. Then do like this:
{{When pagename is | /test = Test pages text | other = Other pages text | page = {{{page|}}} }}
This template doesn"t have namespace matching. If you need that then combine this template with one of the namespace-detection templates such as {{When on template page }} . Like this:
{{When on template page | {{When pagename is | /doc = Template doc page text. }} | }}
Так на странице "User:Example/doc" код ничего не вернет, но на странице "Template:Example/doc" вернет:
Шаблон:When on template pageЭто шаблон определяет дополнительные страницы даже если он используется на страницах в пространстве имен, для которых запрещено создание дополнительных страниц. Таким образом, он все равно работает во всех пространствах имен.
|
MediaWiki pages name encoding is a complicated topic. MediaWiki magic words PAGENAME, PAGENAMEE and urlencode have distinct implementations, each with their own peculiarities.
A MediaWiki page name can have a leading space but not a trailing space. The ASCII characters that are not allowed in MediaWiki page names are the three types of brackets, sharp sign, underscore and vertical bar, and all control characters (including tabs and newlines).
# < > _ { | } Note that the underscore is not really disallowed, but is treated like a space without distinction in MediaWiki page names, so "A_B" and "A B" are referencing exactly the same page name (pages will be created, searched, and displayed (with their title) using spaces, never using underscores).
This article shall refer to these as the "not-allowed pagename characters". For clarity, we will present other ASCII 7-bit values for characters as the URL-style encoding of percent-hex-hex form known as percent-encoding .
Otherwise these dots are left intact by {{urlencode:...}} and {{anchorencode:...}} , but slashes may be converted.
Also the sequence of two successive slashes //) may not be accepted in page names, depending on the configuration of the wiki. Usually this is an indicator that the name is an URL, when it is preceded by a valid URI scheme (or no URI scheme at all where it means a default "http:" or "https:" URI scheme will be used, depending on user"s preference). An URI scheme should then contain a colon (:), but MediaWiki currently recognizes only URI schemes where the colon is final, in a restricted list; otherwise.
For example on this wiki,
"{{PAGENAME|//www.сайт/}}"
"//www.сайт/" .
On Wikimedia sites, such as сайт, the double slashes are recognized as URIs, and most valid URIs are disallowed as page names (if an URI scheme is present, it coud be recognized as a name space it it has been configured, otherwise the page name will fall into the main name space of the wiki):
So on this wiki on сайт, the following code
[]
unexpectely creates a direct link to the external URL, surrounded by verbatim single brackets:
URIs are not recognized by URL-encoding and anchor-encoding (this means that valid full URLs cannot be safely created with urlencode!).
Из вашего комментария:
Привет Crayon спасибо за ваш ответ 1.yup мой клиент запросил для пользовательского имени страницы для всех страниц через сайт. Мы используем инструмент CMS для сайта над кодом, который жестко закодирован в главном шаблоне 2. да, я вызываю другую st() на загрузку страницы для захвата других событий, prop, evar.. 3. Если я передаю s.PageName = "abc.com:home" всякий раз, когда я вызываю другое st() PageName, получает захват в другой st(), чтобы уменьшить дублирование имени страницы. Я передаю ее как параметр. 4. Я также перекрестно проверил с другими инструментами отладки только в одном маяке, я передаю pagename
Хорошо, поэтому причина, по которой вы видите как значение pageName, так и URL-адрес в отчетах ваших страниц, состоит в том, что у вас есть два вызова st() , и только 1 из них имеет значение для s.pageName . Вы сказали, что pageName значение pageName чтобы не допустить, чтобы страница подсчитывалась дважды. Ну, это уже происходит, потому что вы используете два вызова st() . Поскольку вы не указываете имя pageName во втором, URL-адрес по умолчанию.
Идеальное решение состоит в том, чтобы перестроить ваш код, чтобы иметь только один вызов st() . Вы сказали, что работаете с CMS. Поэтому в идеале вы должны использовать s_code.js сценария в глобальном заголовке. то вы должны иметь один вызов st() в глобальном нижнем колонтитуле. Вы также можете поместить глобальные вары в раздел нижнего колонтитула (или в s_code.js > s_doPlugins). Затем между этими двумя является то, где вы бы поместили какой-либо специальный код на странице. Мне кажется, что вы уже делаете это... но вам просто нужно удалить первый вызов st() .
Если по какой-либо причине вы не можете достичь идеального решения, вместо этого вы должны использовать s.tl() для второго запроса. Чтобы использовать s.tl() , вы сделали бы что-то вроде этого:
S.prop1="foo"; s.eVar1="bar"; s.events="event1"; s.linkTrackVars="prop1,eVar1,events"; s.linkTrackEvents="event1"; s.tl(true,"o","description");
В принципе, любые реквизиты, eVars и события, которые вы хотите отслеживать в вызове s.tl , должны быть объявлены в linkTrackVars и linkTrackEvents .
ПРИМЕЧАНИЕ . Вы должны действительно стремиться к идеальному решению. Это не только отчет о страницах, который может завысить. Любые другие варны, которые вы установили, тоже будут завышены. Кроме того, платежная модель Adobe должна взимать плату за каждый отдельный запрос на свой сервер, поэтому вашему клиенту, вероятно, не понравится тот факт, что вы удваиваете свой счет, делая это.
Метод s.tl отнюдь не идеален, но лучше, чем вы сейчас делаете. поскольку это уменьшит инфляцию отчета, а запросы s.tl стоить меньше, чем запросы st .
Эти шаги выполнять не нужно . Ваша сеть уже активирована. Когда вы обновите WordPress до версии 3.x, вам будет предложено обновить правила в файле.htaccess для режима Multisite.
|
Внимание! Возможно, маска DNS настроена неправильно!
Скрипт установки попытался открыть случайный адрес (13cc09.example.com) на вашем домене.
Чтобы использовать режим поддоменов, необходимо использовать
маску в записях DNS. В общем случае достаточно добавить с помощью
инструмента настройки DNS запись с адресом * , указывающую на ваш сервер.
доступна для записи . С помощью команд CHOWN и CHMOD нужно установить такие же параметры, как и у каталога wp-content .
2. Добавьте строки, которые выдаст вам WordPress, в файл wp-config.php .
Эти строки создаются динамически в зависимости от конфигурации вашей сети.
Откройте файл wp-config.php , оставаясь авторизованным в панели управления сайтом.
Добавьте созданные строки сразу перед