我试图在apache服务器上使用.htaccess文件指向/ cmsfiles / flipbooks / thisFlipBook / to / thisFlipBook
我试过了:
RewriteRule ^/thisFlipBook/ /cmsfiles/flipbooks/thisFlipBook[L,R=302]
以及:
RewriteRule ^/thisFlipBook/cmsfiles/flipbooks/thisFlipBook[L]
(没有R标记,因此mod_rewrite知道它的内部apache重定向,而不是让浏览器发送重写资源的新请求。)
第一条规则产生404,第二条规则产生:
/thisFlipBook/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/
但是,如果您手动导航到/ cmsfiles / flipbooks / thisFlipBook,它会设法找到index.html文件并成功加载它。
我做错了吗?
另外:服务器端apache重定向和卸载文件夹是正确的做法吗?客户开始请求这么多的翻书,我们已将它们移出项目以进行部署。
答案 0 :(得分:0)
也许这就是你所需要的:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^thisFlipBook/? cmsfiles/flipbooks/thisFlipBook [R=301,L,NC]
永久重定向
http://example.com/thisFlipBook
要:
http://example.com/cmsfiles/flipbooks/thisFlipBook
假设所有字符串都是固定的。
但是,如果thisFlipBook
不是固定字符串,请将重写规则替换为此字符:
RewriteRule ^([^/]+)/? cmsfiles/flipbooks/$1 [R=301,L,NC]
对于内部映射,请从R=301
中删除[R=301,L,NC]
。