Hejsan. Jag upptäckte att min gamla Rewrite kod inte fungerar i en htaccess...
Så här såg den ut i vhosten:
Kod:
RewriteEngine on
#### Stoppa alla requests till filer ####
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#### Gör inget med URL:en om uri:n nedan anropas - dvs ingen mod_rewrite ####
RewriteRule ^/_tools/ - [L,NC]
## Skriv om alla anrop till html filer till php filer ##
RewriteRule ^(.*)\.html$ $1.php [NC]
RewriteCond %{REQUEST_URI} !\.
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L]
## Fanga allt efter snedstrecket och skicka det till querystringen nav ##
RewriteRule ^/(.*)/$ /index.php?nav=$1 [QSA,NC,L]
Och så här ser min htaccess ut nu:
Kod:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#### Gör inget med URL:en om uri:n nedan anropas - dvs ingen mod_rewrite ####
RewriteRule ^/_tools/ - [L,NC]
RewriteRule ^(.*)\.html$ $1.php [NC]
RewriteCond %{REQUEST_URI} !\.
RewriteRule [^/]$ %{REQUEST_URI} [R=301,L]
RewriteRule ^(.*)/$ /index.php?nav=$1 [QSA,NC,L]
Den enda skillnaden är den sista raden (och Rewritebase + Symlinks), av nån anledning så tar inte det gamla uttrycket i htaccess filen.
Det som inte fungerar som det ska nu är att alla $_SERVER['PHP_SELF'] inte ger korrekt url, den ger index.php överallt men den ska returnera allt som finns i querystingen ?nav.
Jag har i vhosten följande kod också för att aktivera php och begränsa access till den mappen. Kan detta ha nått att göra med mitt problem ?
Kod:
<IfModule php5_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
php_admin_flag safe_mode On
php_admin_value open_basedir /webroot
php_admin_value file_uploads 1
php_admin_value upload_tmp_dir /var/tmp
php_admin_value session.save_path /var/tmp
</IfModule>
Nån som kan hjälpa mig hitta felet?