mod_rewrite,用户目录

时间:2011-12-20 16:33:04

标签: apache mod-rewrite

我有学生,老师和管理员部分的软件。我想让教师选择他们的网址,例如http://mydomain.com/teacher1http://mydomain.com/teacher2等。

我怎样才能使用这个mod_rewrite呢?这部分正在运作:

RewriteEngine On
RewriteRule username teacher/ 

但不是当我在教师目录中有一些链接时,例如teacher/training.php中的index.php浏览器打开teacher/dir页面而不是training.php

1 个答案:

答案 0 :(得分:0)

mod_rewrite读取所有路径并将其全部修改。格式为:“RewriteRule 模式替换”(Apache Docs

“Pattern”可以是子字符串,匹配该子字符串的任何内容都将被重写,但“replacement”是完整路径

假设您希望“用户名”仅在开始时匹配,并假设必须重写其下的所有位置,您需要的是:

RewriteEngine On
RewriteRule ^username(/(.*))? teacher$1

这将忽略“用户名”,但会在路径末尾添加其余路径,因此http://example.com/username/training.php会显示(但不会将地址更改为)http://example.com/teacher/training.php的内容。如果您希望它进行完全重定向以便更改网址,请在[R=301]行的末尾添加RewriteRule