Ich bewegte vor kurzem Dev-Sites und auf jeder Dev-Site war das Projekt in einem Unterverzeichnis (dh: www.site.com/dev_site). Als ich zu einer neuen Entwickler-Site wechselte (zB: www.site2.com/dev_site), würde keiner der Links auf der Seite richtig funktionieren, es sei denn, sie enthielten die Erweiterung .php. So sagt ein Link wie www.site2.com/account einen 404-Fehler werfen würde:Silently Dateierweiterung in Unterverzeichnis w/htaccess
Das angeforderte URL/dev_site/Konto auf diesem Server nicht
Die bisherige .htaccess-Datei auf dem gefunden wurde alte Dev-Site, die gut funktionierte, wurde stillschweigend .php am Ende jeder URI hinzugefügt und nicht in der URL angezeigt.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.php -f
RewriteRule ^(.*)$ $1.php [L,QSA]
</IfModule>
Ich weiß, dass mod_rewrite ist, weil ich Müll in der Datei setzen und es wirft ein 500.
ich auch versucht:
<IfModule mod_rewrite.c>
Options All -Indexes -MultiViews
RewriteEngine on
RewriteBase /dev_site/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/dev_site/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ $1.php [L]
</IfModule>
Und alles, was einen Wurf tat, war 500 Fehler. Und das Entfernen von würde mich nur zu dem zuvor erwähnten Fehler 404 nicht gefunden zurückbringen.