webForumDet fria alternativet

mod rewrite problem efter flytt

Webbservrar

8 svar · 1 069 visningar · startad av rille77

Medlem sedan feb. 200476 inlägg
Frågan#1

Har flyttat en sida från utvecklingsservern och nu så får jag inte till mod rewrite på den nya servern.
.htaccess och mod_rewrite är påslaget på servern så det är inte problemet.

På den gamla servern så kom man direkt in i rooten när man anslöt via FTP och på den nya så får man gå in i en underkatalog.

Såhär såg min gamla .htaccess ut, som funkar kanon på utveklingsservern men vägrar funka live.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

Har provat att ändra rewriteBase och sökvägen, webbhotellet får inte heller till nån lösning på problemet.

Såhär ser .htaccess filen ut med den uppdaterade sökvägen.
RewriteEngine On
RewriteBase /home/httpd/kontonamn/domän/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

Medlem sedan aug. 20039 340 inlägg
#2

Har du en katalog som heter public_html under domän?

Medlem sedan feb. 200476 inlägg
#3

Nej ingen public_html.

När man loggar in på kontot så hamnar man i
/home/httpd/kontonamn
Där finns det en katalog med domännamnet i den ligger själva sidan.

Medlem sedan aug. 20039 340 inlägg
#4

Har du kollat att .htaccessen alls evalueras?
Prova t ex:

RewriteEngine On
RewriteRule . [url]http://www.google.se[/url] [r=301,L]

Som bör rikta om allt till https://www.google.se. Om inte ens det funkar vet du att det är ditt problem. Det har jag varit med om själv nämligen. Isåfall, be att hotellet lägger till AllowOverride All till Directory-attributet för din domän. Domäner definierade med Directory hanteras separat av Apache nämligen.

Medlem sedan feb. 200476 inlägg
#5

rille77 skrev:

.htaccess och mod_rewrite är påslaget på servern så det är inte problemet.

Ja, har använt just den kodsnutt som du gav exempel på och det funkar smärtfritt.

Medlem sedan juni 20014 421 inlägg
#6

RewriteBase behandlar inte fysiska mappsökvägar utan utgår från url.

En RewriteBase / utgår alltid från:
http://www.url.tld/

En RewriteBase /foo utgår alltid från:
http://www.url.tld/foo

Din RewriteBase kommer alltså bara att träffa på - och saker under:
http://www.url.tld/home/httpd/kontonamn/domän

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritebase

Medlem sedan feb. 200476 inlägg
#7

Då så borde med andra ord nedanstående funka, vilket det inte gör

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

Medlem sedan juni 20014 421 inlägg
#8

Hur ser strukturen ut på de olika servrarna? Var ligger webrooten i förhållande till detta? Var ligget .htaccess:en?

Medlem sedan feb. 200476 inlägg
#9

Inte säker på om jag förstod din fråga rätt.
Den fysiska sökvägen till de 2 webrootes ser iaf ut såhär.

/home/httpd/ws2431/xxx.se
/customers/xxx.com/xxx.com/httpd.www

.htaccess filen ligger i rooten

272 ms totalt · 4 externa anrop · v20260731065814-full.d8c17768
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
144 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)