0

我是使用 .htaccess 的新手,我在使用mod_rewriteapache 时遇到了麻烦。

所以基本上我有一个网址。 www.website.com/test/index.php

我希望它更短www.website.com/t/index.php

所以在我的.htaccess文件中,我有这三行:

RewriteEngine On
RewriteBase /
RewriteRule ^test/(.*) t/$1 [R=301,L]

这非常适合将我引导到 www.website.com/t/index.php 但 index.php 页面不会加载并且只会显示404 error. 任何帮助将不胜感激。

4

1 回答 1

0

您需要先缩短 URL:

RewriteEngine On
RewriteRule ^test/(.*) t/$1 [R=301,L]

...然后确保新的(和不存在的)URL 将得到处理:

RewriteRule ^t/(.*) test/$1 [L]

第一次重写是“外部”,因此它显示在客户端浏览器地址栏中,但第二次是“内部”,因此 apache 仅显示来自新 URL 的结果,而不是旧 URL 的结果,而客户端地址栏中没有任何更改.

于 2012-11-20T20:07:36.747 回答