.htaccess重定向到模板选择php文件


.htaccess redirects to a template selection php file

如果我希望所有请求都始终加载核心模板选择文件,我将如何配置.htaccess文件。我相信这可能是好的,原因有几个,其中第一个是安全。只有当我的php模板选择代码将文件标记为可安全显示时,它才会显示。此外,它还允许我构建一些有趣的cms功能,比如需要一个php元数据数组来加载模板文件。我怎样才能做到这一点?

另外,你认为选择这种方法比其他方法更实用吗?

您可以在root.htaccess中使用此规则使core/template.php成为您的前控制器:

RewriteEngine on
RewriteBase /
RewriteRule ^core/template'.php$ - [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . core/template.php [L]

编辑:如果您想将真实文件路由到同一控制器,请使用最后一条规则作为:

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule !'.(jpe?g|ico|gif|bmp|png|tiff|css|js)$ core/template.php [L,NC]
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteRule ^(.*)$ /index.php
</IfModule>

请确保httpd.conf中没有注释这一行:

LoadModule rewrite_module modules/mod_rewrite.so

(应该是,开头没有"#")这是我的目录标签(我使用的是wamp,但它应该是一样的,当然,如果你在那里更改了什么,可以重新启动apache服务器)

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>