Anchor links funktionieren nicht wegen Pretty Urls und rewrite

Hilfe zur Installation
Post Reply
User avatar
pawi
Forum Members
Forum Members
Posts: 15
Joined: Wed Jun 23, 2010 8:20 am

Anchor links funktionieren nicht wegen Pretty Urls und rewrite

Post by pawi »

Hallo!

Durch die Verwendung von Pretty URLs funktionieren mein Anchor-Links nicht.
(ich verwende CMSMS 1.8.2)

Innerhalb z.B. www.domain.eu/unterordner/seite.html möchte ich mit #anker1 verlinken, jedoch wird der Link immer zu

www.domain.eu#anker1 und verlässt somit meine Seite.

Ich habe bereits verschiedene Optionen des Rewriting in der config.php versucht

Code: Select all

$config['url_rewriting'] = mod_rewrite;
$config['url_rewriting'] = internal;
$config['url_rewriting'] = none;
$config['url_rewriting'] = true;
jedoch ohne sichtliche Veränderung.

Meine .htaccess sieht so aus:

Code: Select all

# BEGIN CMSMS and Rewrite Rules
# Make sure you have Options FollowSymLinks
# and Allow on

RewriteEngine On

# Might be needed in a subdirectory
#RewriteBase /

# URL Filtering helps stop some hack attempts
#IF the URI contains a "http:"
RewriteCond %{QUERY_STRING} http\: [OR]
#OR if the URI contains a "["
RewriteCond %{QUERY_STRING} \[ [OR]
#OR if the URI contains a "]"
RewriteCond %{QUERY_STRING} \] [OR]
#OR if the URI contains a "<__script__>"
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
#OR script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#OR any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^.*$ - [F,L]
# END Filtering

# CMSMS Rewriting
# Set assume mod_rewrite to true in config.php and clear CMSMS cache
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
# END CMSMS

# END Rewrite rules

Weiß jemand, wie ich die Domain den Ankern wegbekomme?
Also wie ich meine Links dazu bringe, so auszusehen

Code: Select all

<a href="#anker1">LINK</a>
anstatt

Code: Select all

<a href="http://www.domain.eu#anker1">LINK</a>
?

Danke!!

pawi
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm
Location: Schweiz / Switzerland

Re: Anchor links funktionieren nicht wegen Pretty Urls und rewrite

Post by nockenfell »

[this message is written with 100% recycled bits]
User avatar
pawi
Forum Members
Forum Members
Posts: 15
Joined: Wed Jun 23, 2010 8:20 am

Re: Anchor links funktionieren nicht wegen Pretty Urls und rewrite

Post by pawi »

Danke für den Link! Ich verstehe leider nur nicht, was da beschrieben wird..

Wo befindet sich die preparse-Datei, auf die sich der durchgestrichene Text bezieht? Und wohin soll ich das PHP-Skript kopieren, das cyberman gepostet hat? Ich habe das an den Seitenanfang gesetzt und bekomme trotz {literal}-Tag lauter Smarty Errors. Auch wenn ich einen benutzerdefinierten Tag für das Skript anlege.

Ich muss noch ergänzen, dass ich keine Lösung verwenden kann, die die Seiten-URL vornedranstellt, da die Anker auf einen jquery Slider verweisen. Dieser soll natürlich sliden, daher soll die Seite nicht neu geladen werden.

pawi
cyberman

Re: Anchor links funktionieren nicht wegen Pretty Urls und rewrite

Post by cyberman »

pawi wrote: Und wohin soll ich das PHP-Skript kopieren, das cyberman gepostet hat?
In den /plugin-Ordner ... wird dann automatisch ausgeführt ;).
User avatar
pawi
Forum Members
Forum Members
Posts: 15
Joined: Wed Jun 23, 2010 8:20 am

Re: Anchor links funktionieren nicht wegen Pretty Urls und rewrite

Post by pawi »

Danke, cyberman. Ich hab das jetzt mal gemacht, diesen Code

Code: Select all

<?php
function smarty_cms_prefilter_replaceanchor($tpl_source, &$smarty)
{
   return preg_replace('/<a href="#([A-Za-z0-9\\._-]+)">(.+)<\/a>/', "{anchor anchor='$1' text='$2'}", $tpl_source);
}
?>
abgespeichert als "prefilter.replaceanchor.php" und direkt in den Plugins-Folder kopiert.
Leider verändern sich meine Anker immernoch nicht :( Ausführbar ist das Skript theoretisch, Rechte sind gesetzt.

Habe ich irgendetwas vergessen?
Danke für geduldige Hilfe hier :)

pawi
Post Reply

Return to “Installation und Einstellungen”