Seite 1 von 2

short url mod von larsneo wieder einmal ;)

Verfasst: 12.02.2006 13:41
von austrian-i
also ich hab heut gemerkt, dass dieser mod nicht überall rewritet, und zwar auf dem viewforum schaut es so aus:

http://www.meinedomain.com/viewforum.ph ... C&start=60


kann man das nicht so ändern wie bei beim blättern auf der viewtopic, dass es so aussieht:

http://www.meinedomain.com/ftopic8761-10.html

die .htaccess schaut bei mir so aus:

Code: Alles auswählen

RewriteEngine On 
RewriteRule ^forums.html index.php [L] 
RewriteRule ^forum([0-9]*).html viewforum.php?f=$1&mark=topic [L] 
RewriteRule ^viewforum([0-9]*)-([0-9]*)-([0-9]*).html viewforum.php?f=$1&topicdays=$2&start=$3 [L] 
RewriteRule ^forum([0-9]*).html viewforum.php?f=$1[L] 
RewriteRule ^ptopic([0-9]*).html viewtopic.php?t=$1&view=previous [L] 
RewriteRule ^ntopic([0-9]*).html viewtopic.php?t=$1&view=next [L] 
RewriteRule ^ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).html viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4 [L] 
RewriteRule ^ftopic([0-9]*)-([0-9]*).html viewtopic.php?t=$1&start=$2 [L] 
RewriteRule ^ftopic([0-9]*).html viewtopic.php?t=$1 [L] 
RewriteRule ^ftopic([0-9]*).html viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5 [L] 

Verfasst: 12.02.2006 13:44
von BB-BF-BM
Nimm mal die aktuellere:

Code: Alles auswählen

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} /forums.html
RewriteRule (.*) /index.php [L]

RewriteCond %{REQUEST_FILENAME} /viewforum([0-9]*)-([0-9]*)-([0-9]*).html
RewriteRule (.*) /viewforum.php?f=%1&topicdays=%2&start=%3 [L]

RewriteCond %{REQUEST_FILENAME} /forum([0-9]*).html
RewriteRule (.*) /viewforum.php?f=%1 [L]

RewriteCond %{REQUEST_FILENAME} /ptopic([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1&view=previous [L]

RewriteCond %{REQUEST_FILENAME} /ntopic([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1&view=next [L]

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1&postdays=%2&postorder=%3&start=%4 [L]

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1&start=%2 [L]

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1 [L]

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1&start=%2&postdays=%3&postorder=%4&highlight=%5 [L]

Verfasst: 12.02.2006 13:46
von austrian-i
also da ändert sich gar nichts wenn ich das aktuelle einnehme, schaut genau so aus wie vorher.

Verfasst: 12.02.2006 14:30
von Harki
Salut, austrian-i, :D

es ist ja in Deinem Fall nicht die Frage, was in der .htaccess steht, sondern es geht darum, was in pageheader.php steht, in der die Links erzeugt werden, die dann wiederum von .htaccess "zurückumschrieben" werden...

In pageheader.php sollte so etwas wie:

Code: Alles auswählen

$prefix . '(?<!/)viewforum.php\?f=([0-9]*)&(?:amp;)topicdays=0&(?:amp;)start=0"|',
$prefix . '(?<!/)viewforum.php\?f=([0-9]*)&(?:amp;)topicdays=0&(?:amp;)start=([0-9]*)"|',
$prefix . '(?<!/)viewforum.php\?f=([0-9]*)&(?:amp;)topicdays=([0-9]*)&(?:amp;)start=([0-9]*)"|',
$prefix . '(?<!/)viewforum.php\?f=([0-9]*)&(?:amp;)mark=topics"|',
$prefix . '(?<!/)viewforum.php\?f=([0-9]*)"|',

[...]

'"rubrik\\1.html"',
'"rubrik\\1-\\2.html"',
'"rubrik\\1-\\2-\\3.html"',
'"rubrik\\1-gelesen.html"',
'"rubrik\\1.html"',
... stehen. Das war jetzt ein Auszug aus meiner, und bei Dir dürfte es etwas anders ausssehen - aber in jedem Fall liegt da das Problem.

Verfasst: 12.02.2006 15:19
von austrian-i
hallo harki :D

ach sooo, da liegt der hund begraben :D

also die pageheader von mir sieht so aus:

Code: Alles auswählen

$urlin = 
array( 
$prefix . '(?<!/)index.php"|', 
$prefix . '(?<!/)viewforum.php\?f=([0-9]*)&(?:amp;)topicdays=([0-9]*)&(?:amp;)start=([0-9]*)"|', 
$prefix . '(?<!/)viewforum.php\?f=([0-9]*)"|', 
$prefix . '(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)view=previous"|', 
$prefix . '(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)view=next"|', 
$prefix . '(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)postdays=([0-9]*)&(?:amp;)postorder=([a-zA-Z]*)&(?:amp;)start=([0-9]*)"|', 
$prefix . '(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)start=([0-9]*)&(?:amp;)postdays=([0-9]*)&(?:amp;)postorder=([a-zA-Z]*)&(?:amp;)highlight=([a-zA-Z0-9]*)"|', 
$prefix . '(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)start=([0-9]*)"|', 
$prefix . '(?<!/)viewtopic.php\?t=([0-9]*)"|', 
); 
$urlout = array( 
'"forums.html"', 
'"viewforum\\1-\\2-\\3.html"', 
'"forum\\1.html"', 
'"ptopic\\1.html"', 
'"ntopic\\1.html"', 
'"ftopic\\1-\\2-\\3-\\4.html"', 
'"ftopic\\1.html"', 
'"ftopic\\1-\\2.html"', 
'"ftopic\\1.html"', 
); 

wie muss man das denn ändern, damit nicht

http://www.domain.org/viewforum.php?f=3 ... C&start=30

rauskommt, sonder was kurzes und statisches (so wie auf deinem forum)?

Verfasst: 12.02.2006 15:29
von Harki
Probier bitte mal - zunächst natürlich in Ruhe auf Deinem localhost :D - folgendes aus:

Code: Alles auswählen

$urlin =
array(
$prefix . '(?<!/)index.php"|',
$prefix . '(?<!/)viewforum.php\?f=([0-9]*)&(?:amp;)topicdays=0&(?:amp;)start=0"|',
$prefix . '(?<!/)viewforum.php\?f=([0-9]*)&(?:amp;)topicdays=0&(?:amp;)start=([0-9]*)"|',
$prefix . '(?<!/)viewforum.php\?f=([0-9]*)&(?:amp;)topicdays=([0-9]*)&(?:amp;)start=([0-9]*)"|',
$prefix . '(?<!/)viewforum.php\?f=([0-9]*)&(?:amp;)mark=topics"|',
$prefix . '(?<!/)viewforum.php\?f=([0-9]*)"|',
$prefix . '(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)view=previous"|',
$prefix . '(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)view=next"|',
$prefix . '(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)postdays=([0-9]*)&(?:amp;)postorder=([a-zA-Z]*)&(?:amp;)start=([0-9]*)"|',
$prefix . '(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)start=([0-9]*)&(?:amp;)postdays=([0-9]*)&(?:amp;)postorder=([a-zA-Z]*)&(?:amp;)highlight=([a-zA-Z0-9]*)"|',
$prefix . '(?<!/)viewtopic.php\?t=([0-9]*)&(?:amp;)start=([0-9]*)"|',
$prefix . '(?<!/)viewtopic.php\?t=([0-9]*)"|',
);
$urlout = array(
'"forums.html"',
'"forum\\1.html"',
'"forum\\1-\\2.html"',
'"forum\\1-\\2-\\3.html"',
'"forum\\1-gelesen.html"',
'"forum\\1.html"',
'"ptopic\\1.html"',
'"ntopic\\1.html"',
'"ftopic\\1-\\2-\\3-\\4.html"',
'"ftopic\\1.html"',
'"ftopic\\1-\\2.html"',
'"ftopic\\1.html"',
);
In Deiner .htaccess müssen sich dann aber folgende Zeilen finden:

Code: Alles auswählen

RewriteCond %{REQUEST_URI} ^/forum([0-9]*)-([0-9]*)-([0-9]*)\.html 
RewriteRule (.*) /viewforum.php?f=%1&topicdays=%2&start=%3 [L]

RewriteCond %{REQUEST_URI} ^/forum([0-9]*)-([0-9]*)\.html 
RewriteRule (.*) /viewforum.php?f=%1&start=%2 [L]

RewriteCond %{REQUEST_URI} ^/forum([0-9]*)-gelesen\.html
RewriteRule (.*) /viewforum.php?f=%1&mark=topics [L]

RewriteCond %{REQUEST_URI} ^/forum([0-9]*)\.html
RewriteRule (.*) /viewforum.php?f=%1 [L]
Ohne Gewähr, natürlich - habe das recht schnell zusammengebastelt...

Verfasst: 12.02.2006 15:37
von austrian-i
danke harki,

also ich hab das jetzt eingebaut in die htaccess und in den pageheader - aber es hat sich genau nichts geändert.

muss ich noch was rauslöschen aus der htaccess??

Verfasst: 12.02.2006 16:02
von larsneo

Verfasst: 12.02.2006 19:31
von austrian-i
hi larsneo,

habs eingebaut, aber es kommt immer noch

http://www.domain.org/viewforum.php?f=3 ... C&start=30

Verfasst: 12.02.2006 19:56
von larsneo
wenn der link das ergebnis eines pulldownmenüs ist, ist das normal. ansonsten zeig' mir für eine genauere analyse z.b. im nuforum wie man zu diesem link kommt...