WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   mod rewrite (https://www.wn.se/forum/showthread.php?t=32485)

eidos- 2008-10-10 17:36

tjena har försökt att få till det med mod_rewrite men får det inte som jag vill.

RewriteRule ^.+-vf([0-9]+)\.html$ /viewforum.php?f=$1 [QSA,L]

av detta blir url:en trningsjournal-vf19.html

men hur får jag det till traningsjournal-vf19.html

tack på förhand om du kan lösa detta.

Innocast 2008-10-10 22:51

RewriteRule ^(.*)-vf([0-9]+)\.html$ /viewforum.php?f=$2 [QSA,L]

kanske? har inte testat själv o e aningen trött :)

WizKid 2008-10-10 23:05

Urlen blir ju inte trningsjournal-vf19.html av mod_rewrite. mod_rewrite gör ju så att trningsjournal-vf19.html blir /viewforum.php?f=19. Vad är det som skapar trningsjournal-vf19.html?

Innocast 2008-10-10 23:21

Citat:

Originally posted by WizKid@Oct 10 2008, 22:05
Urlen blir ju inte trningsjournal-vf19.html av mod_rewrite. mod_rewrite gör ju så att trningsjournal-vf19.html blir /viewforum.php?f=19. Vad är det som skapar trningsjournal-vf19.html?

Hehe, någon som tänkte steget längre... Nej, sängen nästa.

eidos- 2008-10-11 17:48

det som är problemet är att åäö iställer för att bli a för å och ä och o för ö istället tas bort helt, någon som kan lösa detta?

WizKid 2008-10-11 17:58

Men vilken kod är det som gör det då?

eidos- 2008-10-13 21:53

Tja någon som är villig att lösa mitt problem? jag betalar!

skicka ett PM!

WizKid 2008-10-13 21:54

Det är som sagt omöjligt att hjälpa dig om du inte visar hur koden ser ut som skapar länkarna.

eidos- 2008-10-13 22:04

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteRule ^.+-vf([0-9]+)-([0-9]+)\.html$ /viewforum.php?f=$1&start=$2 [QSA,L]

RewriteRule ^.+-vf([0-9]+)\.html$ /viewforum.php?f=$1 [QSA,L]

RewriteRule ^.+-vt([0-9]+)-([0-9]+)\.html$ /viewtopic.php?t=$1&start=$2 [QSA,L]

RewriteRule ^.+-vt([0-9]+)\.html$ /viewtopic.php?t=$1 [QSA,L]

RewriteRule ^post([0-9]+)\.html$ /viewtopic.php?p=$1 [QSA,L]

RewriteRule ^member([0-9]+)\.html$ /profile.php?mode=viewprofile&u=$1 [QSA,L]

WizKid 2008-10-13 22:28

Men det är koden som gör mod_rewriten. Alltså översätter trningsjournal-vf19.html till /viewforum.php?f=19. Det är inte koden som skapar länken trningsjournal-vf19.html.

eidos- 2008-10-13 23:05

sorry...


Citat:


if ( !$userdata['session_logged_in'] )
{
ob_start();
function replace_for_mod_rewrite(&$s)
{
$urlin =
array(
"'(?<!/)viewforum.php\?f=([0-9]*)&amp;topicdays=([0-9]*)&amp;start=([0-9]*)'",
"'(?<!/)viewforum.php\?f=([0-9]*)&amp;mark=topics'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&amp;watch=topic*'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&amp;unwatch=topic*'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&amp;highlight=*'",
"'(?<!/)viewforum.php\?f=([0-9]*)'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&amp;view=previous'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&amp;view=next'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&amp;postdays=([0-9]*)&amp;postorder=([a-zA-Z]*)&amp;vote=viewresult'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&amp;postdays=([0-9]*)&amp;postorder=([a-zA-Z]*)&amp;start=([0-9]*)'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&amp;start=([0-9]*)&amp;postdays=([0-9]*)&amp;postorder=([a-zA-Z]*)&amp;highlight=([a-zA-Z0-9]*)'",
"'(?<!/)viewtopic.php\?t=([0-9]*)&amp;start=([0-9]*)'",
"'(?<!/)viewtopic.php\?t=([0-9]*)'",
"'(?<!/)viewtopic.php&amp;p=([0-9]*)'",
"'(?<!/)viewtopic.php\?p=([0-9]*)'",
);
$urlout = array(
"topic-\\1-\\2-\\3.html",
"mark-forum\\1.html",
"updates-topic\\1.html",
"stop-updates-topic\\1.html",
"about\\1.html&amp;highlight=\\2",
"forum-\\1.html",
"ptopic\\1.html",
"ntopic\\1.html",
"view-poll\\1-\\2-\\3.html",
"about\\1-\\2-\\3-\\4.html",
"about\\1.html",
"about\\1-\\2.html",
"about\\1.html",
"post-\\1.html",
"post-\\1.html",
);
$s = preg_replace($urlin, $urlout, $s);
return $s;
}
}


WizKid 2008-10-13 23:44

a-zA-Z matchar inte åäö

men jag ser inte hur den koden skulle kunna generera: trningsjournal-vf19.html med tanke på att ingen replace skriver om till det.

eidos- 2008-10-14 00:05

här kanske

Citat:


function make_url_friendly($url)
{

$url = strtolower($url);

$find = array(' ',
'&',
'\r\n',
'\n',
'/',
'\\',
'+');

$url = str_replace ($find, '-', $url);

$find = array(' ',
'é',
'č',
'ë',
'ę');

$url = str_replace ($find, 'e', $url);

$find = array(' ',
'ķ',
'ō',
'ô',
'ö');

$url = str_replace ($find, 'o', $url);

$find = array(' ',
'á',
'ā',
'â',
'ä');

$url = str_replace ($find, 'a', $url);

$find = array(' ',
'í',
'ė',
'î',
'ī');

$url = str_replace ($find, 'i', $url);

$find = array(' ',
'ú',
'ų',
'û',
'ü');

$url = str_replace ($find, 'u', $url);

$find = array('/[^a-z0-9\-<>]/',
'/[\-]+/',
'/<[^>]*>/');

$repl = array('',
'-',
'');

$url = preg_replace ($find, $repl, $url);

return $url;

}


function rewrite_urls($content)
{

function if_query($amp)
{

if($amp != '')
{
return '?';
}

}

$url_in = array('/(?<!\/)viewforum.php\?f=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
'/(?<!\/)viewtopic.php\?p=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
'/(?<!\/)viewtopic.php\?t=([0-9]+)((&amp;)|(&)){0,1}([^>]+>)(.*?)<\/a>/e');

$url_out = array("make_url_friendly('\\6') . '-vf\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
"make_url_friendly('\\6') . '-vp\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
"make_url_friendly('\\6') . '-vt\\1.html' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'");

$content = preg_replace($url_in, $url_out, $content);

return $content;

}



Alla tider är GMT +2. Klockan är nu 10:24.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson