我的服务器上有以下映射结构:
根文件夹中的htaccess如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^([a-z]{2})/([\w-]+)/([\w-]+)/?$ index.php?lang=$1&page=$2&item=$3 [QSA,L,NC]
RewriteRule ^([a-z]{2})/([\w-]+)/?$ index.php?lang=$1&page=$2 [QSA,L,NC]
RewriteRule ^([a-z]{2})/?$ index.php?lang=$1 [QSA,L,NC]
RewriteRule ^([\w-]+)/([\w-]+)/?$ index.php?page=$1&item=$2 [QSA,L]
RewriteRule ^([\w-]+)/?$ index.php?page=$1 [QSA,L]
现在,如果我想访问CMS地图中的index.php,我通常只需输入www.domain.com/cms,它会自动将我重定向到index.php。但是,我正在处理的当前服务器上不是这种情况。 CMS中的页面也不像通常在其他服务器上那样工作。
CMS中的htaccess与root中的htaccess相同:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^([a-z]{2})/([\w-]+)/([\w-]+)/?$ index.php?lang=$1&page=$2&item=$3 [QSA,L,NC]
RewriteRule ^([a-z]{2})/([\w-]+)/?$ index.php?lang=$1&page=$2 [QSA,L,NC]
RewriteRule ^([a-z]{2})/?$ index.php?lang=$1 [QSA,L,NC]
RewriteRule ^([\w-]+)/([\w-]+)/?$ index.php?page=$1&item=$2 [QSA,L]
RewriteRule ^([\w-]+)/?$ index.php?page=$1 [QSA,L]
我做错了什么?我只被重定向到404页面。 :/