在我目前的ZF项目中,我有两个准备好处理的公共接入点(文件)。处理即将到来的请求,即:index.php& admin.php的
我需要将包含'/ admin'的所有网址路由到admin.php,而其他任何网址都不包含'/ admin'以路由到index.php
知道默认的ZF htaccess包含以下规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
如何实施?
答案 0 :(得分:2)
我想先说我完全同意AurelioDeRosa。我相信路线将是更好的选择。然而,这是你的选择而不是我的。这个.htaccess代码应该做你想要的技巧。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*(admin).*$ admin.php [NC,L]
RewriteRule ^.*$ index.php [NC,L]
但请注意,此脚本将捕获包含admin的任何内容,因此可能会破坏您的前端。例如,如果您要列出具有管理权限的所有用户,则网址 yoursite.com/users/listby/admin / 会将请求重定向到admin.php,因此会像/ administrator /或/ adminininini