用于将所有路径映射到index.php的mod_rewrite规则

时间:2010-08-14 18:15:12

标签: php mod-rewrite

我在www.mydomain.com/mydirectory/index.php上有一个脚本。我想将所有对mydirectories子目录的请求映射到脚本。例如,www.mydomain.com/mydirectory/mypath/应该重写为www.mydomain.com/mydirectory/index.php/mypath /

我怎样才能做到这一点?感谢。

2 个答案:

答案 0 :(得分:0)

mydirectory 目录的.htaccess文件中尝试此操作:

RewriteEngine on
RewriteCond $0 !^index\.php/
RewriteRule .* index.php/$0 [L]

答案 1 :(得分:0)

如果请求的文件或文件夹不存在,这会将所有请求转发到 index.php

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

例如,http://www.example.com/category/5/变为http://www.example.com/index.php/category/5/

您可以使用explode()和$ HTTP_SERVER_VARS

解析 index.php 背后的路径
$url = explode('/', $HTTP_SERVER_VARS['PATH_INFO']);