这是我的.htaccess文件:
Options +FollowSymLinks -MultiViews -Indexes
RewriteEngine On
RewriteBase /
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$
RewriteRule ^.*$ - [E=CWD:%2]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^(.+?)/$ %{ENV:CWD}$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) %{ENV:CWD}$1$2 [R=301,L,NE]
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ %{ENV:CWD}./index.php?rewrite=$1
它工作得很好,但如果我把它放在一个子目录中,重定向到非www不起作用。我尝试使用我在顶部制作的%{ENV:CWD}
环境变量,但它没有用。
当htaccess在子文件夹中时,如何使其工作?
答案 0 :(得分:0)
如果您要将.htaccess文件放在子目录中,则需要更改此内容:
<强>从强>
RewriteBase /
以强>
RewriteBase /subdirectory
还可以尝试:(没有RewriteCond
)
RewriteRule ^www\.(.*)$ http://%1/$1 [R=301,NC,L]