好的,我有这个 mod 重写(经过大量挖掘后获得:http ://www.dynamicdrive.com/forums/showthread.php?51923-Pretty-URLs-with-basic-mod_rewrite-and-powerful-options-in-PHP ):
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/loader.php$
RewriteCond %{REQUEST_URI} !^/loader.php/
RewriteRule ^(.*)$ loader.php/$1?%{QUERY_STRING} [L]
它将所有流量重定向到我服务器公共 webroot 中的 loader.php。然后加载器相应地加载适当的 php 文件,非常标准的东西。
<?php
//load the definitions and functions
require_once '../www_private/functions/functions.php';
//If the user is looking for the index then the request will have been to a directory, add index.php accordingly
if ( is_dir(WEBROOT.$_SERVER['REQUEST_URI']) )
{
//check for a leading slash
if ( substr($_SERVER['REQUEST_URI'], -1 == '/') )
{
$_SERVER['REQUEST_URI'] .= '/';
}
$_SERVER['REQUEST_URI'] .= 'index.php';
}
//Now attempt to load the requested file.
require WEBROOT.$_SERVER['REQUEST_URI'];
?>
唯一的问题是它还会重定向 css js 和图像文件以及导致一堆致命错误......
有谁知道如何更改 mod 重写以允许非 php 文件跳过此重定向?
或者//
我会更好地在图像、css 和 js 目录中添加另一个 .htaccess 文件以忽略父级 .htaccess 吗?