Zkrácení URL compomenty

Michal
09. lis 2013 22:54 - 09. lis 2013 22:56 #112473
Zdravím, moc bych prosil o pomoc s úpravou URL kompomenty.

Takhle vypadá:
/components/com_lgsl/lgsl_files/lgsl_image.php?s=6&type=small
Nejlépe, aby vypadalo takhle:
/lgsl_image.php?s=6&type=small

Moje htaccess (defaultní) v rootu:
##
# @package		Joomla
# @copyright	Copyright (C) 2005 - 2013 Open Source Matters. All rights reserved.
# @license		GNU General Public License version 2 or later; see LICENSE.txt
##

##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
##

## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

## Mod_rewrite in use.

RewriteEngine On

## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.

## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects

##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

# RewriteBase /

## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.

Mockrát děkuji předem.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
09. lis 2013 23:18 #112475
To ale není URL komponenty, je to přímý odkaz na nějaký PHP soubor, tedy něco co funguje mimo Joomlu.
Jedna věc je úprava htaccess tak aby rozpoznal a správně nasměroval zkrácený tvar, druhá věc je ale, že by jste musel přepsat vstup té komponenty aby používala tento zkrácený tvar, zjistěte si nejdřív zda to jde, nebo zda jste schopen to zajistit nějakým pluginem...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Michal
10. lis 2013 00:30 - 10. lis 2013 00:32 #112476
Jedná se o jakési "komunitní" rozšíření kompomenty: http://www.greycube.com/site/download.php?view.58
Tento soubor nebyl přímo v té kompomentě od vývojáře. Má se k ní nahrát a impletovat do ní. Nicméně ten odkaz se má běžně používat a nechci ho mít takhle dlouhý jak týden a hnusný. Změnil jsem název toho PHP souboru, a funguje dál. Nicméně pokusil jsem se použít kód, který jste mi jednou dělal:
RewriteRule ^s/(.*)$ components/com_lgsl/lgsl_files/status.php?s=1&type=small [L]

A to už ten PHP obrázek znefunkčnilo.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
10. lis 2013 04:15 #112481
Pak asi takto
RewriteRule ^lgsl_image.php$ /components/com_lgsl/lgsl_files/status.php [L]
Poděkovali: Michal

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Michal
10. lis 2013 18:27 #112494
Super, krása. Mockrát děkuji. ;)

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ipanema
17. bře 2018 15:52 - 17. bře 2018 16:00 #134727
Ahoj, prosím si jednu odpověď i pro mě. Nestačím na to.... Zkoušel jsem 3 komponenty, nejde mi to.
Mám seznam článků (blog článků) na adrese https://....cz/aktuality v každém článku je vloženo <hr id="system-readmore" />
Takže v tom seznamu všech článků mám 6 začátků článků a tlačítko "číst dál..."
Když na ně kliknu, každý článek má tvar adresy: https://.....cz/joomla-pages-iii/categories-list/aktuality/prvni-z-dubna nebo https://.....cz/joomla-pages-iii/categories-list/aktuality/druha-z-kvetna

Pomozte mi prosím to co nejvíce zkrátit např. o to "/joomla-pages-iii/categories-list/" přátelské URL nastavené mám, komponenty vyzkoušené, ale ty mi zase nejdou přidat do toho tlačítka s textem "číst dál...", .htaccess jsem zkoušel na
RewriteRule ^aktuality$ /joomla-pages-iii/categories-list/aktuality [L]
a podobně.

Plugin Direct Alias mi adresu zkrátí jen o jeden díl na (příkladem) https://.....cz/categories-list/aktuality/prvni-z-dubna
Velice děkuji za pomocnou ruku.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ipanema
17. bře 2018 17:30 - 17. bře 2018 17:33 #134728
Druhá (obdobná) obdobná věc je a nemůžu přijít co mám zle je, že obrázky uvnitř článku se mi odkazují na adresu "https://......cz/joomla-pages-iii/categories-list/aktuality/images/headers/maple.jpg" místo na zdroj obrázku na adrese "https://......cz/images/headers/maple.jpg". A tím se obrázek nezobrazí.

Obrázek umísťují přímo přes tlačítko v menu a správně. Jen se načítá "z delší" adresy.

Chci mít ty adresy krátké, ale jak v globálním nastavení dám "ne" na položky Přátelské URL + Použít přepis URL, tak se adresa znepřehlední a obrázky se ukazují OK.
.htaccess upravený mám.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Bong
18. bře 2018 06:02 - 18. bře 2018 07:26 #134734
Když chcete zobrazit obrázek, pak musíte zadat jeho skutečnou cestu, kde je fyzicky soubor obrázku uložen. Tady není co zkracovat. URL není viditelná a uživatele, narozdíl od obrázku nezajímá.

Není mi jasné co vám vlastně funguje a co ne. Dejte odkaz na stránky.

I'm sorry, my responses are limited...you must ask the right questions.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
19. bře 2018 14:32 #134742
A ty adresy /joomla-pages-iii/categories-list/ budou souviset s tím, že jste převzal nějaký demo (Quick start) balíček a moc nepoupravil menu.
Quick start balíčky jsou sice hezké, že je v nich "vše připraveno", ale je potřeba je pročistit od věcí které nepotřebujete, a přeorganizovat do podoby kterou potřebujete. Rozhdoně tam nenechávejte věci (články, kategorie, moduly, položky menu apod.) jen proto že je možná budete někdy potřebovat...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.