Ser nu att på den ASP sajt där jag använder .htaccess har jag även med "RewriteBase":
[ISAPI_Rewrite]
RewriteEngine on
RewriteBase /
# - regler -
Vet inte om det kanske kan göra någon skillnad.
40 svar · 1 288 visningar · startad av Asa · sida 2 av 3
Har en sida som jag använder följande länk när man tittar på sin kalender: <http://www.webbkalender.com/?id=1> Vill kunna ha så här: <http://www.webbkalender.com/username> Men vet inte hur man skall göra detta. Någon som har tips hur jag skall göra? Måste man ha något speciellt på servern för detta eller räcker det med phpkodning? Har ju många mappar i rooten. Tänkte mycket på det nämligen...
Läs frågan i sin helhet →Ser nu att på den ASP sajt där jag använder .htaccess har jag även med "RewriteBase":
[ISAPI_Rewrite]
RewriteEngine on
RewriteBase /
# - regler -
Vet inte om det kanske kan göra någon skillnad.
Ska kolla upp det
index.php som ligger i test/
<?php
echo (isset($_GET['sid']) ? $_GET['sid'] : "");
if($_GET['sid'] == "1"){
echo "1";
}
?>
Samma fel. La .htaccess i den mappen
[ISAPI_Rewrite]
RewriteEngine on
RewriteBase test/
RewriteRule ^test/([a-z0-9]+)/$ index.php?sid=$1 [nc]
Jag skall iväg nu en sväng men kommer igen efter kl 13. tack för all hjälp än så länge.
index.php som ligger i test/
Nej nej, du ska inte skapa en mapp som heter test. Index.php ska ligga kvar i rooten.
Det är ju det här du har mod_rewrite till, du ska inte skapa mapparna, utan det du skriver i adressfältet "manipuleras"/"förändras"/"tolkas" av .htaccess.
Så, skapa inga extra mappar.
Tänk på det avslutande / som du har i din regel. Eftersom mönstret avslutas med $ så innebär det att den måste matcha EXAKT.
Den adress du angav (gruvsjo.se/test/1) kommer ge "Not found" om regeln är ^test/([a-z0-9]+)/$ eftersom du inte har med något avslutande / i din adress.
Jag tänkte ha en testsida tills jag får igång det. Därgör gjorde jag en mapp med namn /test/
Går det inte alltså? Exakt hur skall jag göra. Jag är lite trögtänkt ibland.. Hahaha
Lägger jag ens upp .htaccess filen på servern kan sidan inte visas. Sidan måste väl kunna visas som stardard?
Direkt via https://www.gruvsjo.se?
Ser ut så här den jag testade lägga upp i rooten
[ISAPI_Rewrite]
RewriteEngine on
RewriteBase /
RewriteRule ^([a-z0-9]+)/$ index.php?sid=$1 [nc]
Är det helt fel eller??
Spelar det någon roll om sidan ligger på en Win 2008 server med IIS 7.0?
Har https://www.axbyte.se där sidan ligger.Ska detta funka på en gång?
Eftersom du använder iis7 så rekommenderar jag att du tittar på dessa filmerna.
http://www.youtube.com/watch?v=guzJWqNJ3DA
http://learn.iis.net/page.aspx/506/url-rewrite-module---video-walkthrough/
samt läser på https://www.iis.net för mer information om url rewrite i iis7, exempelvis http://learn.iis.net/page.aspx/465/url-rewrite-module-configuration-reference/
Jag skall ta en rejäl koll på de sidorna som du postat och hoppas jag fattar mer efter det.
Jag skall ta en rejäl koll på de sidorna som du postat och hoppas jag fattar mer efter det.
Det går att konfigurera url rewriting via konfigurationsfil (du behöver alltså inte använda det grafiska gränssnittet som filmerna visar), men exakt var du lägger den och hur du laddar upp den vet jag inte eftersom jag inte vet hur ditt hostingbolag har konfigurerat sitt system. Kolla gärna med deras support.
Om servern är Linux då hur gör man då med detta? Har en sida som ligger hos surftown på en Linux server.
Om servern är Linux då hur gör man då med detta? Har en sida som ligger hos surftown på en Linux server.
..då fungerar mitt förslag (se mitt första inlägg i den här tråden) alldeles utmärkt.
Felet blir:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Men det blir ju att sidan inte visas. Funkar inte alls :(
Men då gör du något annat fel... koden är direkt kopierad från en av mina .htaccess filer som ligger på en live sida (http://www.tabysim.se/sektion/barnsim/simskola/3-26/grupp/36-136/) där URL'en egentligen är http://www.tabysim.se/school.php?school_section=&school_type=§ion_id=3&type_id=26&level_id=35&group_id=136.
Om du klickar på den senare, alltså den "som översätts" ger den internal server error, medan "den snygga" funkar som den ska.
Jag kan inte ens titta på indexsidan via ex https://www.sidan.se utan får det felet du.
Måste .htaccess filen sparas i nåt speciellt teckenformat? UTF-8 eller liknande? Påverkar sådant detta? Nån skrev nåt om det här:
http://eforum.idg.se/viewmsg.asp?entriesid=1080455
Fick till det till slut.. Hade ju fortfarande med [ISAPI_Rewrite] så jag tog bort den och så funkade det :)
Fick till det till slut.. Hade ju fortfarande med [ISAPI_Rewrite] så jag tog bort den och så funkade det :)
Fint! ..och glöm inte att markera tråden som löst :)
Sen kanske någon moderator kan flytta den här tråden till Webserverformet, eftersom det inte alls rör PHP.
Men lägger ni in ett extra fält i databasen som ni ger ett eget namn eller gör ni om ex menyns namn eller rubrik till det seo vänliga urlén?
Kan ni skriva lite mer info om det tack.
Och hur ser Regeln ut om man har en länk som ser ut så här ex:
https://www.sidan.se/index.php?sid=17&aID=25
Det "snygga" i URL'n är sidans namn, låt säga att min tabell innehåller texter och ser ut såhär:
id parent name text
1 2 Välkommen blabla bla blabla
2 3 Kontakt blabla bla blabla
3 3 Om oss blabla bla blabla
Då tar jag "name" och kör genom ett regexp, så att "ogiltiga" tecken ersätts:
function fixname($username = "", $tolower = true){
$match = array('Å', 'Ä', 'Ö', 'å', 'ä', 'ö', ' ');
$replace = array('a', 'a', 'o', 'a', 'a', 'o', '_');
$username = str_replace($match, $replace, ($tolower ? strtolower($username) : $username));
$username = ereg_replace('[^a-z0-9_]', '', $username);
return $username;
}
Jag vill att URL'en ska se ut såhär:
http://www.doman.se/valkommen/1-1/
1-1 ovan är id-parent. anledningen är att om jag bara kör med "/valkommen/" och någon lägger upp en text med samma namn, finns det två möjliga texter att hämta från databasen.
I ditt fall skulle jag skriva regeln såhär:
RewriteRule ^sida/([0-9]+)/([0-9]+)/$ index.php?sid=$1&aID=$2 [nc]
Då kommer du åt sidan med:
https://www.sidan.se/sida/17/25/
Kom ihåg att om du vill slänga in [namn] på sidan, måste regeln se ut såhär:
RewriteRule ^([0-9a-z]+)/([0-9]+)/([0-9]+)/$ index.php?sid=$2&aID=$3 [nc]
Det första ([0-9a-z]+) behöver du inte använda till något, förutom att visa namnet i URLen.
Supertack Micke :)