Vra

Ek gebruik mod herskryf om toegang tot my PHP lêers in die hoofdmap van my webwerf indirek. Op die oomblik het ek iets soos hierdie,

RewriteRule ^(blog|about|page3|etc)$ /$1.php [L]

Maar wat ek wil gebruik is

RewriteRule ^(.*)$ /$1.php [L]

Om te verseker dat ek wil nie hê om my htaccess lêer op te dateer wanneer ek wil voeg 'n nuwe bladsy op my webwerf. Die probleem met hierdie is egter dat dit 'n invloed my subdirectories te. Wat maak CSS, JavaScript, beelde ontoeganklike omdat dit aansture na "/dir/example.png.php".

Wat is die beste oplossing hier?

Was dit nuttig?

Oplossing

Probeer hierdie reël:

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.php -f
RewriteRule .* $0.php [L]

Ander wenke

Edit die .htaccess om hierdie:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /$1.php [L]

Na die aanvang van die herskryf enjin, dit sal eers kyk om te sien of die versoek lêer is 'n werklike lêer op die stelsel, of as dit is eintlik 'n gids. As dit is nie een van daardie, sal dit die reël, wat in hierdie geval is om te probeer en die lêer te vind deur die aanbring van .php en bediening wat tot uit te voer.

subdirectory, beelde, CSS en dies meer sal goed wees, want hulle sal stap uit die herskryf sodra hulle gevind.

Ek sal dit doen met filters om sub-gidse ignoreer. Op dié manier hoef jy net om dit te verander as jy 'n sub gids te voeg. Jy moet 'n lyn te voeg soos Sosh 's as jy beelde of ander lêers in die gids het

Die volgende "beelde" "JS" sub dopgehou sou ignoreer en en lei alles

RewriteRule   ^images*   -  [L]
RewriteRule   ^js*       -  [L]
RewriteRule   ^(.*)$     /$1.php   [L]

Iets soos hierdie (let op die!):

RewriteRule !\.(js|ico|gif|jpg|png|css|zip|gz|html|xml)$ index.php
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top