ЧПУ, Короткие ссылки

Евгений

Осваивается
Регистрация
19.09.2013
Сообщения
5
Реакции
0
нашел мануал :) http://www.mediawiki.org/wiki/Manual:Short_URL/ru
далее в конфиге апача прописал алиас но в итоге меня швыряет по красивому урлу но на пустую страницу которую рубит модх
файл .htaccess в корне следующий:
Код:
# MODX supports Friendly URLs via this .htaccess file. You must serve web
# pages via Apache with mod_rewrite to use this functionality, and you must
# change the file name from ht.access to .htaccess.
#
# Make sure RewriteBase points to the directory where you installed MODX.
# E.g., "/modx" if your installation is in a "modx" subdirectory.
#
# You may choose to make your URLs non-case-sensitive by adding a NC directive
# to your rule: RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]
 
RewriteEngine On
RewriteBase /
 
# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com [NC]
#RewriteRule (.*) http://example-domain-please-change.com/$1 [R=301,L]
#
# or for the opposite domain.com -> www.domain.com use the following
# DO NOT USE BOTH
#
#RewriteCond %{HTTP_HOST} .
#RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com [NC]
#RewriteRule (.*) http://www.example-domain-please-change.com/$1 [R=301,L]
 
 
 
# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent
# https://www.domain.com when your cert only allows https://secure.domain.com
#RewriteCond %{SERVER_PORT} !^443
#RewriteRule (.*) https://example-domain-please-change.com/$1 [R=301,L]
 
 
 
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
 
 
# Make sure .htc files are served with the proper MIME type, which is critical
# for XP SP2. Un-comment if your host allows htaccess MIME type overrides.
 
#AddType text/x-component .htc
 
 
 
# If your server is not already configured as such, the following directive
# should be uncommented in order to set PHP's register_globals option to OFF.
# This closes a major security hole that is abused by most XSS (cross-site
# scripting) attacks. For more information: http://php.net/register_globals
#
# To verify that this option has been set to OFF, open the Manager and choose
# Reports -> System Info and then click the phpinfo() link. Do a Find on Page
# for "register_globals". The Local Value should be OFF. If the Master Value
# is OFF then you do not need this directive here.
#
# IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS :
#
# Your server does not allow PHP directives to be set via .htaccess. In that
# case you must make this change in your php.ini file instead. If you are
# using a commercial web host, contact the administrators for assistance in
# doing this. Not all servers allow local php.ini files, and they should
# include all PHP configurations (not just this one), or you will effectively
# reset everything to PHP defaults. Consult www.php.net for more detailed
# information about setting PHP directives.
 
#php_flag register_globals Off
 
 
 
# For servers that support output compression, you should pick up a bit of
# speed by un-commenting the following lines.
 
#php_flag zlib.output_compression On
#php_value zlib.output_compression_level 5
 
 
 
# The following directives stop screen flicker in IE on CSS rollovers. If
# needed, un-comment the following rules. When they're in place, you may have
# to do a force-refresh in order to see changes in your designs.
 
#ExpiresActive On
#ExpiresByType image/gif A2592000
#ExpiresByType image/jpeg A2592000
#ExpiresByType image/png A2592000
#BrowserMatch "MSIE" brokenvary=1
#BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
#BrowserMatch "Opera" !brokenvary
#SetEnvIf brokenvary 1 force-no-vary

как решить этот конфликт?
 
в .htaccess прописал следующее

если сделать так
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

#mediawiki
RewriteRule ^wiki/(.*)$ /w/index.php?title=$1 [PT,L,QSA]
RewriteRule ^wiki/*$ /w/index.php [L,QSA]
RewriteRule ^/*$ /w/index.php [L,QSA]

при попытке зайти на сайт всегда бросает в вики

а если так то модх не видит вики
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

#mediawiki
RewriteRule ^wiki/(.*)$ /w/index.php?title=$1 [PT,L,QSA]
RewriteRule ^wiki/*$ /w/index.php [L,QSA]
RewriteRule ^/*$ /w/index.php [L,QSA]

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

подскажите как их подружить?
 
а если так то модх не видит вики
Что значть что modx не видит wiki?

Вики в корне или подпапке? Если в подпапке 'wiki', то попробуй так
Код:
RewriteEngine On
RewriteBase /
 
# The Friendly URLs part from modx
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
 
# anything under /wiki is treated as an article title
RewriteRule ^wiki/(.+)$ wiki/index.php?title=$1 [PT,L,QSA]
 
сами файлы вики находятся в папке /w в корне сайта
а урл меняется на /wiki/... но модх злой модх по своему воспринимает измененный урл видимо )

забыл упомянуть что в LocalSettings есть такие штуки
$wgScriptPath = "/w";
#$wgArticlePath = "/wiki/$1";
#$wgUsePathInfo = true;
$wgScriptExtension = ".php";
 
сами файлы вики находятся в папке /w в корне сайта
а урл меняется на /wiki/... но модх злой модх по своему воспринимает измененный урл видимо )
что мешает переместить вики в подпапку wiki? будет проще же
 
что мешает переместить вики в подпапку wiki? будет проще же

по мануалу просто делал думал сработает
эта фишка с папкой w позволяет кое что сделать и в конфиге localsettings папочки должны различаться
 
Пытаюсь сделать как на http://wiki.worldoftanks.ru/ и https://wiki.archlinux.org/
Не знаю что вписать в .htaccess
Код:
RewriteEngine On
RewriteRule ^/(.*)$ /w/index.php?title=$1 [PT,L,QSA]
RewriteRule ^/*$ /w/index.php [L,QSA]
PHP:
$wgScriptPath = "/w";
$wgScriptExtension = ".php";
$wgArticlePath = "/$1";
$wgUsePathInfo = true;
выдает 404 ошибку

попробовал как в мануале
Код:
RewriteEngine On
RewriteRule ^wiki/(.*)$ /w/index.php?title=$1 [PT,L,QSA]
RewriteRule ^wiki/*$ /w/index.php [L,QSA]
RewriteRule ^/*$ /w/index.php [L,QSA]
PHP:
$wgScriptPath = "/w";       
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;
$wgLogo = "/w/wiki_logo.png";
получил
wiki.mysite.com/wiki/Заглавная_страница что в общем то логично но мне не подходит, если кто знает или сталкивался - помогите


 
Спасибо. Так и поступил. На оф сайте написано что это не безопасно, но пока другого выхода нет.

PHP:
$wgScriptPath = "";
$wgScriptExtension = ".php";
$wgArticlePath = "$wgScriptPath/$1";

Код:
RewriteEngine On
RewriteCond %{HTTP_HOST} wiki.МОЙСАЙТ.org
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?title=$1 [L,QSA]
 
Форумчане, настраивал, ЧПУ по мануалу - ok (no root access, файлы в папке /w/). Вопросы:

1) в опере в адресной строке вижу http_//www.сайт.ru/wiki/Заглавная страница - красивый url, а в IE 9 не очень - http_//www.сайт.ru/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0. Kак сделать нормальную кодировку (буквами) в адресной строке? Какой настройкой? Где вводить латинские наименования страниц? Транслитерацию?

2) В чем смысл/причины использования уровня /wiki/ в ЧПУ - так: http_//www.сайт.ru/wiki/Заглавная страница, а не просто http_//www.сайт.ru/Заглавная страница?
По варианту настройки http_//www.сайт.ru/Заглавная страница не нашел мануала.
 
> Википедию открой, там тоже самое — ие кривой
Можно как-то добиться чтоб ссылки (с русскими буквами) были красивые (читаемые)? :)

PS
нашел такое расширение по транслиту...
http://www.mediawiki.org/wiki/Extension:Ascii_Translit
Кто-нибудь юзал типа его (с русским языком)? работает?
 
Последнее редактирование:
Да забей на это ... пользуйся FireFox'ом и будет тебе счастье с красивыми URL ... придёт время и IE сделают так ... а так главное поисковики всё читают и понимают и надобности в установке плагинов, которые бы меняли адрес страницы нет.
 
Я хочу чтоб ссылки выгляди ли так:
http://ru.example.com/wiki/Заглавная_страница
Я сделал так как в этом мануале:
http://www.mediawiki.org/wiki/Manual:Short_URL/ru/wiki/Заголовок_страницы_--_без_корневого_доступа
но нечего не получилось. При переходе на http://ru.example.com/wiki/Заглавная_страница показывает:
"
Не найден
Запрашиваемая страница / вики / D-D ° Ð ³ Ð »Ð ° Ð ² Ð ½ Ð ° Ñ? _n? N, N € Ð ° Ð ½ Ð ¸ Ñ † Ð ° была не найдена на этом сервере.
"
Может все дело в том, что я пытаюсь это сделать на поддомене?
 
содержимое htaccess?
 
сделал так как там пишет:
RewriteEngine On
RewriteRule ^wiki/(.*)$ /w/index.php?title=$1 [PT,L,QSA]
RewriteRule ^wiki/*$ /w/index.php [L,QSA]
RewriteRule ^/*$ /w/index.php [L,QSA]
 
Путь к вики /wiki/?
 
UksusoFF, ты читал мануал? Я сделал как там написано:
Выберите директорию в которой будут находится ваши статьи. Мы будем исходить из того, что вы выбрали путь /wiki/, также как в Википедии. Таким образом, статьи, будут доступны по адресу http://www.ваш_сайт.ru/wiki/Название_статьи. Мы будем исходить из того, что вы установили MediaWiki в подкаталог с именем /w/относительно корневой папки веб-сервера, также как в Википедии.
 
Назад
Верх