Эй, ребята, я пытаюсь выяснить, что наиболее уместно. Из статей, которые я прочитал, лучше всего закончить URL с завершающей косой чертой.
Поэтому вместо: http://www.site.com/article
Он будет читать: http://www.site.com/article/
Сначала я скорректировал htaccess, чтобы заставить конечную косую черту.
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} ^.+[^/]$ RewriteRule ^(.+)$ $1/
Затем я начал реализовывать это в своих ссылках, и я подумал, что если бы я сделал якорь («статья /», «статья»), это сработало бы, но, похоже, эта функция разделяет конечную косую черту.
Чтобы обойти это, я изменил конфигурационный файл на $ config ['url_suffix'] = '/'. Который сработал. ВМЕСТЕ хорошо. За исключением того, что у меня есть область документа на моем сайте с помощью pdf-файлов и т. Д. Таким образом, созданные там ссылки будут выглядеть как http://www.site.com/documents/doc1.pdf/ . Это, конечно, не работает.
Как вы думаете, мое решение здесь? Думаю, я мог бы вернуться на любую страницу, на которую я ссылался на документы или файлы, и настроить их, чтобы не использовать функцию привязки, но я чувствую, что должен быть более простой способ.
Благодаря!
Мои сайты используют оба. Думаю, конечная косая черта указывает на что-то конкретное для пользователей. Поскольку «/» обычно указывает папку, пользователи (особенно технические) считают, что на этой странице есть подпапки или подпараметры. Не показывать пользователя, что косая черта может указывать на отсутствие подпапок. Это работает для таких вещей, как файлы, например, ваш pdf-файл.
Из-за этого я решил не форсировать ни одну из сторон, но строить свой сайт таким образом, чтобы он отражал восприятие пользователей. Но это философия, вы строите сайт для пользователей, а не для кода, правильно? 🙂
Извините, может быть, грубый, но если он не работает (или вызывает проблемы), просто не делайте этого, и все в порядке. Добавление дополнительного кода для такого рода вещей – это потраченное впустую время. Некоторые браузеры автоматически добавляют косую черту, так зачем беспокоиться? Это действительно неважно.
Переопределите site_url()
из Config.php
чтобы добавить Config.php
косую черту, кроме ссылки на файл:
application/core/MY_Config.php
:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class MY_Config extends CI_Config { function site_url($uri = '') { if ($uri == '') { return $this->slash_item('base_url').$this->item('index_page'); } if ($this->item('enable_query_strings') == FALSE) { $suffix = ''; if( ! preg_match('/(.+)\.[a-zA-Z0-9]{2,4}$/', $uri)) { $suffix = '/'; } return $this->slash_item('base_url').$this->slash_item('index_page').$this->_uri_string($uri).$suffix; } else { return $this->slash_item('base_url').$this->item('index_page').'?'.$this->_uri_string($uri); } } } // END MY_Config Class /* End of file MY_Config.php */ /* Location: ./application/core/MY_Config.php */