У меня проблема с моим правилом перезаписи. У меня есть новая веб-страница в root/hrp. и если я открываю страницы в этом каталоге, тогда все в порядке, но когда я хочу просматривать эти страницы из корня (без /hrp/), тогда это проблема. Я нашел некоторые правила.htaccess и все работает нормально, но если я хочу выполнить скрипт pdf, jpg или php напрямую, тогда придет проблема.
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_URI} !hrp/
RewriteRule (.*) /hrp/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/hrp/index.php
RewriteRule ^(.*)$ /index.php [L]
если я поставил этот нижний код на начало, я могу открыть файлы directli, но страницы не работают, и наоборот
RewriteCond %{REQUEST_FILENAME} (/|\.php|\.html|\.htm|\.png|\.jpg|\.jpeg|\.gif|\.xml|\.rss|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule ^(.+)$ $1 [L]
Я нашел решение
RewriteCond% {REQUEST_URI}!. (Gif | jpg | png | ico | css | js | swf | wav | mp3 | less | cur | pdf | jpeg | txt | ico | zip | gz) [NC]
RewriteCond% {REQUEST_URI}! (Folder1 | folder2 | file1.php | file2.php | file3.php) [NC]
RewriteCond% {REQUEST_URI}! Hrp/
RewriteRule (. *)/Hrp/$ 1 [L]
RewriteCond% {REQUEST_FILENAME}! -f
RewriteCond% {REQUEST_FILENAME}! -d
RewriteCond% {REQUEST_URI}! ^/Hrp/index.php
RewriteRule (. *)/Index.php [L]
Попробуйте добавить это сверху:
RewriteRule \.(php|html?|png|jpe?g|gif|xml|rss|feed|pdf|raw)$ - [L,NC]
или вы можете попробовать добавить это условие к своему правилу hrp:
RewriteCond %{DOCUMENT_ROOT}/hrp/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/hrp/$1 -d
RewriteRule (.*) /hrp/$1 [L]