.htaccess如何替换网址

时间:2010-10-08 07:05:12

标签: apache .htaccess mod-rewrite

如何在根目录下安装的子文件夹中替换Web应用程序的URL。

e.g。需要映射     example.com/index.php 至     example.com/new/index.php

我不想重定向,但是url重写可以免除文件夹名称。

帮助我学习和定义规则。

2 个答案:

答案 0 :(得分:2)

您可以使用以下规则重写任何URL路径(没有路径前缀)不以new/开头的请求:

RewriteCond $1 !^new/
RewriteRule ^(.*)$ new/$1

这也适用于文档根目录以外的.htaccess文件。

但是,由于您希望在文档根目录的.htaccess文件中使用此规则,您还可以使用 REQUEST_URI

RewriteRule !^new/ new%{REQUEST_URI}

答案 1 :(得分:1)

第一行匹配所有不匹配/new/...的请求,并在其前面添加一个新请求。

RewriteCond %{REQUEST_URI} !^/new/
RewriteRule ^(.*)$ new/$1

请求:http://example.com/index.php
映射到:[document root]/new/index.php