Требуется объяснение правила перезаписи файла .htaccess для joomla

Я пытаюсь понять следующие строки в файле .htaccess joomla. Может кто-нибудь объяснить это, пожалуйста

#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} !^/index.php
#RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
#RewriteRule (.*) index.php
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

Я хочу сделать некоторые пользовательские перенаправления

например, если URL-адрес похож на этот example.com/subdirectory1, я хочу перенаправить на какую-то статью. попытался добавить эту строку в файл .htaccess

RewriteRule ^somepath index.php?option=com_content&view=article&id=1&Itemid=12

но по какой-то причине в статье отображается заголовок, хотя он не должен отображаться. когда я получаю доступ, используя длинную строку URL, заголовок не появляется, если я переписываю его.

Пожалуйста помоги.

-Вивек


person Vivek Chandraprakash    schedule 08.02.2010    source источник


Ответы (3)


Правила в первом посте очень неэффективны. Два очень медленных чтения с диска выполняются для каждого URL-запроса, попадающего на сервер, проверяя, разрешается ли запрос в физический файл или папку. Эти проверки выполняются даже тогда, когда очевидно, что запрос будет перезаписан (URL без расширения) или не будет перезаписан (изображения, файлы CSS и т. д.).

Изменяя порядок условий, эти очень медленные чтения с диска можно устранить для подавляющего большинства запросов. Эти изменения появляются в файле .htaccess, распространяемом с Joomla 1.5.23 и 1.6.2 и выше, и этот файл будет работать со старыми версиями Joomla.

Обновление старой версии Joomla до более новой версии не приводит к автоматическому обновлению файла .htaccess. Новый файл .htaccess распространяется как htaccess.txt, поэтому для настройки требуется ручное редактирование имени файла.

person g1smd    schedule 24.04.2011

Эти строки закомментированы символом # в начале, поэтому они ничего не делают. Если они не закомментированы, они отправляют все запросы файлов, для которых Apache не может найти реальный физический файл, в index.php Joomla для дальнейшей обработки.

Не уверен, что вы имеете в виду появление «названия». Какой титул?

person ceejayoz    schedule 08.02.2010
comment
извините, что прокомментировал. это должно быть раскомментировано. а заголовок это название статьи - person Vivek Chandraprakash; 08.02.2010
comment
Какое отношение заголовок статьи имеет к чему-либо в .htaccess? Почему заголовок не должен отображаться? - person ceejayoz; 08.02.2010
comment
мое требование, чтобы заголовок статьи не отображался. см. это правило RewriteRule ^softwares index.php?option=com_content&view=article&id=103&Itemid=103, если кто-то получает доступ к моему сайту site.com/softwares, он должен быть перенаправлен на index.php?option=com_content&view=article&id=103&Itemid=103, когда это произойдет перенаправление, заголовок статьи отображается другими словами, если я захожу на свой сайт, как этот site.com/softwares, появляется заголовок, тогда как если я захожу на свой сайт, как этот index.php?option=com_content&view=article&id=103&Itemid=103, заголовок исчезает - person Vivek Chandraprakash; 08.02.2010
comment
RewriteRule не изменит HTML страницы. Все, что он делает, это создает, по сути, псевдоним URL для существующего пути. Если заголовок страницы исчезает/появляется на странице, происходит что-то еще странное. - person ceejayoz; 09.02.2010

Заголовок страницы в Joomla должен контролироваться под пунктом меню. Если вы редактируете этот пункт меню, справа есть вкладка «Система», и под ней вы можете установить заголовок страницы.

Имейте в виду, это изменится, как только вы перейдете по ссылке на другую статью/изображение/видео в этом компоненте. Чтобы получить хорошее представление о заголовках страниц на вашем сайте, вы можете зайти в каталог расширений Joomla и поискать там некоторые плагины, которые дают вам больший контроль над заголовками страниц.

person Paul Sweeney    schedule 13.02.2010