Структура сайта следующая:
www.mydomain.com -> Здесь установлен WordPress.
www.mydomain.com/subfolder1 -> Здесь установлено пользовательское приложение php.
www.mydomain.com/subfolder1/subfolder2 -> Здесь установлена панель управления приложения php.
У меня есть .htaccess в подпапке1 и другой в подпапке2, навигация в подпапке1 отличная, но навигация в подпапке2 неправильная;
Я могу увидеть www.mydomain.com/subfolder1/subfolder2/index.php, но если я хочу перейти в меню, то есть www.mydomain.com/subfolder1/subfolder2/test, изменить URL-адрес, но я всегда вижу index.php
Любые советы?
.htaccess в подпапке1
Option -Indexes
ErroDocument 404/404.php
RewriteEngine On
RewriteBase /subfolder1/
#Remove extra trailing slashes
RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
RewriteRule . %1/%2 [R=301,L]
#Add missing trailing slash
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
RewriteRule /(uploads/.*) $1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
RewriteRule ^ %1 [R=301,L]
<ifModule mod_deflate.c>
<filesmatch "\.(js|css|html|jpg|png|gif|eot|woff|ttf|svg)$">
SetOutputFilter DEFLATE
</filesmatch>
</ifModule>
<FilesMatch "\.(htaccess|htpasswd|ini|log|sh|inc|bak|cache|tpl)$">
Order Allow,Deny
Deny from all
</FilesMatch>
.htaccess в подпапке2 похож на подпапку1, но я изменил RewriteBase
Option -Indexes
ErroDocument 404/404.php
RewriteEngine On
RewriteBase /subfolder1/subfolder2/
#Remove extra trailing slashes
RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
RewriteRule . %1/%2 [R=301,L]
#Add missing trailing slash
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
RewriteRule /(uploads/.*) $1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/subfolder2(.+)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ subfolder2/index.php?url=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
RewriteRule ^ %1 [R=301,L]
<ifModule mod_deflate.c>
<filesmatch "\.(js|css|html|jpg|png|gif|eot|woff|ttf|svg)$">
SetOutputFilter DEFLATE
</filesmatch>
</ifModule>
<FilesMatch "\.(htaccess|htpasswd|ini|log|sh|inc|bak|cache|tpl)$">
Order Allow,Deny
Deny from all
</FilesMatch>
Вы изменили RewriteBase, поэтому вам не нужно помещать «subfolder2» в RewriteCondition и RewriteRule.
Или сохраните это и измените RewriteBase как первый .htaccess
Других решений пока нет …