CakePHP och Apache Alias

Har suttit och slitit mitt hår över hur man utifrån en helt vanlig vaniljstandardinstallation av Wamp (eller Apache, PHP och MySQL överhuvudtaget) på en Windows-burk att lira med CakePHP och Apache alias.
Det har varit rätt spretigt med information, men till slut har jag lyckats hitta något som fungerar.

Konfiguration

  • Windows 7
  • WAMP 2.x
  • CakePHP 1.1.x
  • Websiten dit aliaset pekar är inte(!!) en underkatalog till Apaches www-root!

Instruktion

1: Lägg till ditt Alias.

Exempel:

Alias /[website]/ "[sökväg-till-websitekatalog-där-cake-ligger]"

<Directory "[sökväg-till-websitekatalog-där-cake-ligger]">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>

2: Redigera cake:s .htaccess-accessfiler.

I mappen där din website/cake finns, leta upp den .htaccess som ligger allra högst upp i katalogträdet. Det är den .htaccessfil som i standardutförande ser ut som följer:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

Lägg här till en rad efter “RewriteEngine on” som innehåller “RewriteBase /[website]” där [website] är samma sträng/ord/namn som du skrivit in i ditt alias.
Då ser din .htaccess ut som följer:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /[website]
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

Nu är det bara en .htaccess-fil kvar att ändra, sen ska siten vara uppe och köra. Filen ligger i webroot-mappen där du lagt cake (/cakemapp/app/webroot). Innehållet i denna fil är i standardutförande:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

Gå in och redigera den så den ser ut såhär:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /[website]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.