Во многих движках используются "красивые ссылки", но в .htaccess при этом ничего не прописывается. Пытался разобраться как это работает на примере Wordpress - там в бд есть таблица prettyurls, в которой содержатся синонимы адресов. Нагуглил также, что в вордпрессе используется mod_rewrite. Но как он используется без .htaccess я так и не понял. Поясните, ежели кто знает. =\
Например? Если нет .htaccess, то те же правила прописаны в конфиге Apache или Ngnix. Если и там не прописаны, то такого быть не может. Можно без реврайта подобие чпу сделать так: сайт.com?about/me
Что самое странное, я вообще не нашел упоминания слова "prettyurls" ни в файлах вордпресса, ни в бд. После удаления .htaccess, синонимы ссылок перестали работать. Содержимое такое: Код (Text): RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [L,QSA] Сейчас вот пробую ковырять ImageCMS - та же фигня, урлы лежат в БД: А в .htaccess прописано следующее: Код (Text): AddDefaultCharset UTF-8 Options +FollowSymLinks Options -Indexes RewriteEngine on # RewriteCond %{HTTP_HOST} ^www.site.com$ [NC] # RewriteRule ^(.*)$ http://site.com/$1 [L,R=301] RewriteCond $1 !^(index\.php|test.php|user_guide|uploads/.*|favicon\.ico|favicon\.png|captcha/.*|application/modules/.*/templates|templates|js|robots\.txt|application/controllers/install/images/.*) RewriteRule ^(.*)$ /index.php/$1 [L] #################################### # or # RewriteRule ^(.+)$ index.php?$1 [L] # or # RewriteRule ^(.*)$ /index.php?/$1 [L,QSA] Добавлено спустя 19 минут 49 секунд: Короче, по первому (простому) варианту, я так понял, что этот .htaccess заставляет любые ссылки ссылаться на index.php. А потом можно брать $_SERVER['REQUEST_URI'] и парсить его.
в бд лежат алиасы, движок формирует ссылку на основе этих алиасов, при открытии страницы, в базе происходит поиск по алиасу и открывается соответствующая страница. Т.о. двух алиасов быть не может. Вроде так...
может. раньше часто можно было встретить реализации чпу на базе 404-го обработчика. и все как обычно сводилось к поиску адреса в бд
ну имхо уродство это. а раньше потому что вроде школьники научились пользоваться рерайтом и оставили обработчик ошибок для обработки ошибок.
Да, разобрался по вордпрессу, там это происходит именно так - парсинг $_SERVER['REQUEST_URI'], формирование ссылки и редирект на нее. Буду пробовать писать нечто подобное. Ещё возник вопрос - стоит ли заморачиваться с ссылками типа blog/entry/35, как в CodeIgniter? Есть ли в этом хоть какой-то профит с точки зрения SEO?
Опять igordata со своими "смотря что".)) Блог я пишу простенький, личный блог быдлокодера, так сказать. Ресурсов на хостинге осталось копейки, вордпресс уже не пашет. Решил накатать с нуля, чтобы вообще не жрало.
Короче проблема такая. Вордпресс работает, но когда логинюсь и пытаюсь открыть админку - Firefox выдает "Соединение было сброшено": http://clip2net.com/clip/m190239/1367680450-clip-130kb.jpg А Google Chrome пишет "Данные не получены": http://clip2net.com/clip/m190239/1367680484-clip-126kb.jpg Решения не нагуглил, на форумах поддержки сидят сплошные дебилы. Сунулся в Ubuntu, пробил top, помониторил нагрузку, выяснилось что когда я пытаюсь зайти в админку вордпресса, свободная оперативка сжирается вся.
все от настроек зависит. можно указать файл журнала, уровень ошибок, вывод в поток, состояние запуска, состояние парсера. на продакшене чаще всего отключают вывод в поток но без журналирования не оставляют. ибо как отлаживать-то?
Сейчас проверил ещё раз - это нифига не память. На этот раз стопорнул основной сайт (заменив его на html-страничку а-ля "stand by"), и Team Speak, крутящийся на том же сервере. После чего зашел в Putty, вбил top, и начинал агрессивно ломиться в админку. Результат - свободная память не опускалась ниже 50 мегов: http://clip2net.com/clip/m190239/1367953206-clip-292kb.jpg
такая же х. у айолы Добавлено спустя 2 минуты 34 секунды: нет. если например даже пхп: Код (PHP): <?php echo 'sdfgdsfgsdfgdgs'; изредко какает мне:
Это точно не "фатал" в пхп. Пробовал вбивать в .htaccess: Код (Text): php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on php_flag log_errors on php_value error_log /var/www/maestro-magnifico.ru/1/PHP_errors.log И вбил в index.php чуть ли не через каждую строчку (ибо страдаю легкой паранойей): Код (Text): error_reporting(E_ALL); ini_set('error_reporting', E_ALL); В итоге лог ошибок пустой.
Я не знаю что такое резолв, но я могу денег дать.)) Ежели кто-то сможет разобраться с проблемой и запилить вордпресс на моем хостинге.)
Не открывается только после того, как ты залогинился в админку. Короче если будет возможность помочь, мой скайп: maestro_magnifico Я пока пробую другую CMS и если она мне не понравится, буду всё-таки дописывать своё.
Короче хэппи энд, посоны - я отдал 1000р фрилансеру за то что он просто заменил мой php.ini своим. При этом он даже суть проблемы не выявил. Х_Х Всем с подобными симптомами копать в php.ini!