Php 使用模式重写重定向甚至是绝对url

Php 使用模式重写重定向甚至是绝对url,php,.htaccess,mod-rewrite,friendly-url,Php,.htaccess,Mod Rewrite,Friendly Url,我正在尝试实现漂亮的url。 我用PHP写的所有东西都能正常工作。我需要通过index.php处理每个请求 例如,website.com/page/search/question/dogs将由索引处理。 但是website.com/templates/header.tpl将开始下载该文件 我想通过index.php处理另一个文件的地址 我有权进入 RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRI

我正在尝试实现漂亮的url。 我用PHP写的所有东西都能正常工作。我需要通过index.php处理每个请求

例如,website.com/page/search/question/dogs将由索引处理。 但是website.com/templates/header.tpl将开始下载该文件

我想通过index.php处理另一个文件的地址

我有权进入

RewriteEngine On  

RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  

RewriteRule ^.*$ ./index.php  

如何通过index.php将绝对url传递到文件?

r更改url不能是目录或文件名的条件: 重写cond%{SCRIPT_FILENAME}-d

重写cond%{SCRIPT_FILENAME}-f

如果要为服务器上已经存在的文件重写URL,则需要删除
-F
(不是文件)和
-D
(不是目录)检查。否则,您为您的
重写规则设置了错误的
重写条件

但是,有一个警告,您不想为
index.php
本身重写,否则会导致无休止的重写循环

RewriteEngine On  

RewriteCond %{REQUEST_FILENAME} !=^./index\.php$
RewriteRule ^.*$ ./index.php [L]

也请看。

亨利,你是什么意思?你能解释一下你的问题中“重定向”一词的意思吗?我的意思是用户类型地址“example.com/hello.php”,但服务器不会调用hello.php,而是调用index.php(index.php之后的参数?id=/page/view可用于index.php)参数的值应该来自哪里?我有更好的例子。正如我在问题中所写的那样。当用户调用website.com/templates/header.tpl时,我不希望服务器通过提供header.tpl进行下载来响应。但我希望服务器调用index.php来处理请求。我将在PHP中执行其他操作,但我想将所有请求重定向到index.phpIs您的问题是:**.tpl不能重定向到index.PHP吗?或者别的什么?我以前试过,但它会抛出错误500内部服务器错误