mod_rewrite für sub-Verzeichnis

Ich habe eine domain und einen sub-Ordner, genannt "sub"..innen "sub" ist index.php was hat diese:

$page = $_GET['page'];
switch ($page)
{
    case "main":
        echo "main";
        break;
    case "task_orders":
        echo "task_orders";
        break;
    case "team_members":
        echo "team_members";
        break;
    case "team_experience":
        echo "team_experience";
        break;
    case "quality_assurance":
        echo "quality_assurance";
        break;
    case "geographical_support":
        echo "geographical_support";
        break;
    case "contact":
        echo "contact";
        break;
    default:
        echo "main";
}

meine htaccess in "sub" ist:

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^sub/([^/\.]+)/?$ index.php?page=$1 [L]

wenn ich auf einen link klicken, die folgendermaßen aussieht:

<li><a href="/sub/main" title="Main" class="current">Main</a></li>
<li><a href="/sub/task_orders" title="Task Orders">Task Orders</a></li> 
<li><a href="/sub/team_members" title="Team Members">Team Members</a></li> 
<li><a href="/sub/team_experience" title="Team Experience">Team Experience</a></li> 
<li><a href="/sub/quality_assurance" title="Quality Assurance Program">Quality Assurance</a></li> 
<li><a href="/sub/geographical_support" title="Geographical Support">Geographical Support</a></li> 
<li><a href="/sub/contact" title="Points of Contact">Points of Contact</a></li> 

Bekomme ich ein "Seite nicht gefunden" anstatt echo heraus, welche Seite ich bin auf, irgendwelche Ideen?

Ich auch versucht:

RewriteRule ^/sub/([^/\.]+)/?$ /sub/index.php?page=$1 [L]

und dasselbe Ergebnis

  • Blick auf das access-log zu sehen, was angefordert wird. Schritt #1 im Debuggen von rewrite-Regeln ist, SCHAUEN Sie IN DIE PROTOKOLLE.
  • leider enthalten Sie nichts in Bezug auf die web-site, die ich auf Arbeit bin. Ich bin auf einem dedizierten server, so habe ich Zugriff auf die logs, und Sie noch nicht aktualisiert wurde für etwa eine Stunde und ich habe versucht, Sie ein bisschen umschreiben combos
  • Es sollte eine Zeile für jeden Treffer, die Sie durchgeführt haben. Wenn die logs, die Sie suchen, nicht aktualisiert wurden, dann werden diese nicht "live" protokolliert.
  • das ist das, was ich mir auch so gedacht..ich bin auf den root von meinem server in der /logs-Ordner..an der Seite, der Ordner ist /etc, /users, /stats und ein paar andere
  • Überprüfen Sie für CustomLog und die wie in der Apache-Konfiguration. Das wird Ihnen genau sagen, wo Sie sind. In der Regel, dass in /var/log/httpd oder /var/log/apache oder ähnliches.
InformationsquelleAutor Ronnie | 2011-07-12
Schreibe einen Kommentar