Ето моя .htaccess за пренаписване на public/index.php. Използвам php рамката Laravel.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} /(code|tmp) [NC]
RewriteRule ^ - [L]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
</IfModule>
Тук папките 'code' и 'tmp' могат да бъдат достъпни както обикновено.
Ако добавя набор от вложени папки и добавя htaccess на Laravel по подразбиране, за да премахна public/index.php
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Не работи във вложената папка.
Работи добре, ако нямам първия даден .htaccess в основната директория. След като дадох моя .htaccess, той не работи.
.htaccess в главната директория причинява ли ефект върху подпапката?
Ако е така, как мога да го поправя
Забележка: Това е въпросът, от който получих .htaccess преди
root
, а вторият е в папкаroot/code
(Да кажа, че беше в htdocs -- същото трябваше да се следва и на живо, т.е.mydomain.com
&mydomain.com/somefolder
) - person ABD   schedule 20.01.2015/code/.htaccess
, тогава root .htaccess няма да бъде прочетен. - person anubhava   schedule 21.01.2015