我的 public_html 中的 .htaccess 文件有:
RewriteEngine on
RewriteRule ^testfolder/(.*)$ /$1 [R=301,L,NC]
RewriteRule ^(.*)$ testfolder/$1
根据我用来测试输出的http://htaccess.madewithlove.be/
当我输入http://www.mydomain.com/testfolder/aaa/bbb我得到:
This rule was met, the new url is http://www.mydomain.com/aaa/bbb
Test are stopped, because of the R in your RewriteRule options. A redirect will be made with status code 301
有没有办法执行 301 重定向以使浏览器栏中的 url 更漂亮,同时继续尝试在 htacess 文件中进一步匹配模式?
我在 www.mydomain.com/testfolder 中有我的 codeigniter 项目。我的第一条规则:
RewriteRule ^testfolder/(.*)$ /$1 [R=301,L,NC]
是将所有导航栏请求重写为以下形式的控制器:www.mydomain.com/testfolder/controller/method 到 www.mydomain.com/testfolder/controller/method。第二条规则是让任何人 www.mydomain.com/controller/method 将使用它在内部变成 www.mydomain.com/testfolder/controller/method
先感谢您,
账单
附录 - 我当前的 .htaccess 文件:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+b1/(.*)\s [NC]
RewriteRule ^ /$1 [R=302,L]
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule ^(.*)$ /b1/$1 [L]