Vinnaren i pepparkakshustävlingen!
2017-03-19, 13:08
  #1
Medlem
Hej Flashback.

Det är så att jag har ganska så jobbigt problem. Har skrivit ett php script med hjälp av följande MVC-skelett:

https://github.com/panique/mini

Enligt han som gjorde skelettet, ska det vara enkelt att få igång med Apache med hjälp av mod_rewrite och en .htaccess fil. Dessa filer har jag inte ändrat från de som han bidrar med.
När jag kodar och testar allt i MAMP(där apache används), så fungerar allt kanon, inga problem..
Men när jag ska testa på min Raspberry Pi så får jag inte det att fungera. Jag har säkerhetsställt att mod_rewrite fungerar och den är aktiverad.
Jag får upp index sidan, men så fort jag ska navigera mig till ex "Log Manager" så dirigeras den till http://domain.com/problem och webbläsaren säger att "Alltför många omdirigeringar sker" vilket är något knas, eftersom den ska bara ska till problem Kontrollern om det man requestar som URL inte finns.

Jag kan verkligen inte lösa detta problem själv, suttit i flera dagar och vet inte alls vad jag ska ta mig till.

Skulle absolut kunna skita totalt i den här koden jag skrivit och skriva en ny där jag får använda mig av något annat sätt att bestämma och dirigera requests inom mitt script, men det får inte vara för komplicerat känner jag.

Mitt repo:
https://github.com/jabbeboy/PHP-Logger

Allt finns princip i repot. Bör noteras att det behövs en "logger" database och en "users" tabell i mySQL för att du ska kunna få upp index sidan.

Även apache bör pekas mot public mappen.
Finns det någon vänlig själv som kan tänkas testa ?
Jag finns här och svarar på alla frågor ni behöver veta om min apache config.

.htaccess filen:

Kod:
<IfModule mod_rewrite.c>
# Necessary to prevent problems when using a controller named "index" and having a root index.php
Options -MultiViews

# Activates URL rewriting
RewriteEngine On

# Prevent people from looking directly into folders
Options -Indexes

# If the following conditions are true, then rewrite the URL:
# If the requested filename is not a directory,
RewriteCond %{REQUEST_FILENAME} !-d

# and if the requested filename is not a regular file that exists,
RewriteCond %{REQUEST_FILENAME} !-f

# and if the requested filename is not a symbolic link,
RewriteCond %{REQUEST_FILENAME} !-l

# then rewrite the URL in the following way:
# Take the whole request filename and provide it as the value of a
# "url" query parameter to index.php. Append any query string from
# the original URL as further query parameters (QSA), and stop
# processing this backup.htaccess file (L).
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
#RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
</IfModule>


Min 000-default.conf:

Kod:
<VirtualHost *:80>
        ServerName domain.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/PHP-Logger/public
        <Directory "/var/www/PHP-Logger/public/">
                Options MultiViews FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
__________________
Senast redigerad av wangox 2017-03-19 kl. 13:15.
Citera
2017-03-19, 17:33
  #2
Medlem
studioxswes avatar
Ät du säker på att din .httaccess läses in i din Pi? Inte alla distar är konfiggade att läsa dessa och då fungerar inte din rewrite.

Du som skriver loggfunktion... Vad ser du i din access.log på din pi? Dvs vad är det för URL som "bouncar"
Citera
2017-03-20, 13:17
  #3
Medlem
Edit. Jag hittade felet.
Felet var att den letade efter en filer som med filnamn av små bokstäver, medans i mitt hade jag där filnamnet började på stor bokstav.

Moderatorn får gärna ta bort tråden.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback