WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Problem med Media wiki. (https://www.wn.se/forum/showthread.php?t=29042)

Thir13teen 2008-05-01 17:38

Jag försöker fixa URLsen på min wiki så att artiklarnas URLs blir minwiki.se/artikel istället för minwiki.se/index.php/minartikel.

Har enligt instruktionerna på http://www.mediawiki.org/wiki/Manual:Short..._no_root_access skapat en .htaccess och lagt in

Kod:

RewriteEngine on

RewriteCond    %{REQUEST_URI} !index.php
RewriteCond    %{REQUEST_FILENAME} -f [OR]
RewriteCond    %{REQUEST_FILENAME} -d [OR]
RewriteCond    %{REQUEST_FILENAME} -l
RewriteRule ^(.+) /path/to/web/directory/$1 [L]

# redirect to main page
RewriteRule ^/*$ /index.php?title=Main_Page [L,QSA]

# anything else is to be treated as a title
RewriteCond    %{REQUEST_URI} !index.php
RewriteRule ^(.+)$ /index.php?title=$1 [L,QSA]

samt lagt till

Kod:

$wgArticlePath  = "/$1";
$wgUsePathInfo  = false;

i localsettings.php. Detta tips står långt ner i artikeln.

Det verkar funka med URLsen, men nu är plötsligt mitt "skin" på min wiki borta. Alltså layouten, det finns bara text på sidan nu, utan CSS formateringen och inga bilder. Någon som vet varför och hur jag fixar?

Om jag går in på min wiki och kollar källkod så syns koden som hämtar css-dokumentet som vanligt, så det är konstigt.

mr_lundis 2008-05-01 19:16

Det beror antagligen på att du fått denna regel fel:
Kod:

RewriteRule *^(.+) */path/to/web/directory/$1 *[L]
Edit: Om du kan hämta filen direkt så var det nog inget - ignorera mitt inlägg.

Thir13teen 2008-05-01 19:56

Citat:

Originally posted by mr_lundis@May 1 2008, 19:16
Det beror antagligen på att du fått denna regel fel:
Kod:

RewriteRule *^(.+) */path/to/web/directory/$1 *[L]
Edit: Om du kan hämta filen direkt så var det nog inget - ignorera mitt inlägg.

Hm, hur menar du om jag kan hämta filen direkt?

mr_lundis 2008-05-01 20:27

Öppna värdet av href-attributen på link-elementet för stilmallen. Om det är en relativ adress kan du behöva lägga till ditt domännamn framför URL:en.
Kod:

<link href="[Öppna URL som står här]" type="text/css" rel="stylesheet" />

Thir13teen 2008-05-01 21:50

Citat:

Originally posted by mr_lundis@May 1 2008, 20:27
Öppna värdet av href-attributen på link-elementet för stilmallen. Om det är en relativ adress kan du behöva lägga till ditt domännamn framför URL:en.
Kod:

<link href="[Öppna URL som står här]" type="text/css" rel="stylesheet" />

Ok tack, jag ämnar prova men jag hittar inte på vilken fil som innehåller kopplingen till css-dokumentet, alltså <link href=...> Det är inte index.php. Vet du/någon vilken fil som gäller?

mr_lundis 2008-05-01 22:05

Gå in på valfri sida och högerklicka -> visa källkod.

Thir13teen 2008-05-01 22:26

Va? Du missförstod kanske. Om jag tar visa källa på framsidan syns ju ett html-dokument som vanligt, men det är inte helt lätt att hitta vilken fil som skriver ut HTML-en man ser. Index.php kan man ju tro men det är det inte.

Kanske kan en kunnig utröna var jag ska kolla genom att kolla in index.php, här är det som står i index.php:


<?php

# Initialise common code
$preIP = dirname( __FILE__ );
require_once( "$preIP/includes/WebStart.php" );

# Initialize MediaWiki base class
require_once( "$preIP/includes/Wiki.php" );
$mediaWiki = new MediaWiki();

wfProfileIn( 'main-misc-setup' );
OutputPage::setEncodings(); # Not really used yet

$maxLag = $wgRequest->getVal( 'maxlag' );
if ( !is_null( $maxLag ) ) {
if ( !$mediaWiki->checkMaxLag( $maxLag ) ) {
exit;
}
}

# Query string fields
$action = $wgRequest->getVal( 'action', 'view' );
$title = $wgRequest->getVal( 'title' );

$wgTitle = $mediaWiki->checkInitialQueries( $title,$action,$wgOut, $wgRequest, $wgContLang );
if ($wgTitle == NULL) {
unset( $wgTitle );
}

#
# Send Ajax requests to the Ajax dispatcher.
#
if ( $wgUseAjax && $action == 'ajax' ) {
require_once( $IP . '/includes/AjaxDispatcher.php' );

$dispatcher = new AjaxDispatcher();
$dispatcher->performAction();
$mediaWiki->restInPeace( $wgLoadBalancer );
exit;
}


wfProfileOut( 'main-misc-setup' );

# Setting global variables in mediaWiki
$mediaWiki->setVal( 'Server', $wgServer );
$mediaWiki->setVal( 'DisableInternalSearch', $wgDisableInternalSearch );
$mediaWiki->setVal( 'action', $action );
$mediaWiki->setVal( 'SquidMaxage', $wgSquidMaxage );
$mediaWiki->setVal( 'EnableDublinCoreRdf', $wgEnableDublinCoreRdf );
$mediaWiki->setVal( 'EnableCreativeCommonsRdf', $wgEnableCreativeCommonsRdf );
$mediaWiki->setVal( 'CommandLineMode', $wgCommandLineMode );
$mediaWiki->setVal( 'UseExternalEditor', $wgUseExternalEditor );
$mediaWiki->setVal( 'DisabledActions', $wgDisabledActions );

$wgArticle = $mediaWiki->initialize ( $wgTitle, $wgOut, $wgUser, $wgRequest );
$mediaWiki->finalCleanup ( $wgDeferredUpdateList, $wgLoadBalancer, $wgOut );

# Not sure when $wgPostCommitUpdateList gets set, so I keep this separate from finalCleanup
$mediaWiki->doUpdates( $wgPostCommitUpdateList );

$mediaWiki->restInPeace( $wgLoadBalancer );

mr_lundis 2008-05-01 22:33

Koden i index.php är antagligen inte relevant. Det är den genererade html koden som kommer innehåla referensen till css-filen.

Thir13teen 2008-05-01 22:34

Citat:

Originally posted by mr_lundis@May 1 2008, 22:33
Koden i index.php är antagligen inte relevant. Det är den genererade html koden som kommer innehåla referensen till css-filen.
Precis. I vilken fil finns den koden undrar jag, så jag kan ändra på referensen som du sa.

mr_lundis 2008-05-01 22:40

Det är snarare någon konfigurationsfil eller dina rewrite rules som behöver ändras. Dessutom så behöver du se hur den genererade URL:en ser ut för att kunna avgöra det nya värdet.


Alla tider är GMT +2. Klockan är nu 23:14.

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