.htaccess mod_重写不起作用

.htaccess mod_重写不起作用,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我刚接触.htaccess,在使用apache的mod_rewrite时遇到了问题 所以基本上我有一个URLwww.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/inde

我刚接触.htaccess,在使用apache的
mod_rewrite
时遇到了问题

所以基本上我有一个URL
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错误
。任何帮助都将非常感谢。

您需要先缩短URL:

RewriteEngine On
RewriteRule ^test/(.*) t/$1 [R=301,L]
…然后确保新的(不存在的)URL将得到处理:

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

第一次重写是“外部”,因此它显示在客户端浏览器地址栏中,但第二次重写是“内部”,所以Apache只显示新的URL中的结果来代替客户地址栏中的任何一个旧的W/O。请考虑把这个放在上面。如果你得到一个404的错误,你怎么知道重写工作?嗯,当我去www. WebSist.COM/Test/DeXX.php时,它会引导我访问www. WebSist.COM/T/DIXX.php,但是索引X.php不会加载到新网址。