如何撤消对.htaccess文件所做的更改

时间:2014-09-24 18:55:17

标签: php apache .htaccess mod-rewrite

我正在摆弄我自己的CMS并使用.htaccess文件。

我正在网上寻找一段代码片段,它会在每个HTTP请求上添加一个尾部斜杠。

当我插入代码时,我意识到它也会删除我工作的子目录的名称。

URLS:

所以这就是我所拥有的: localhost / project / index.php

这就是我想要的: localhost / projects / index.php /

这是我得到的结果: localhost / index.php /

但真正的问题是: 我看到了结果,我想恢复示例3中的示例1.但是在删除.htaccess文件中的代码后,更改仍然存在,我不知道如何还原它。

如何恢复此重写规则?

在执行"尾随斜杠"

之前,这是我的.htaccess
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /tesla0.2/

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME}/index.html !-f
    RewriteCond %{REQUEST_FILENAME}/index.php !-f

    RewriteRule . index.php [L]
</IfModule>

这是我的.htaccess之后:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /tesla0.2/

    RewriteCond %{REQUEST_URI}  !\.(php|html?|jpg|gif)$
    RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME}/index.html !-f
    RewriteCond %{REQUEST_FILENAME}/index.php !-f

    RewriteRule . index.php [L]
</IfModule>

1 个答案:

答案 0 :(得分:1)

我假设您的htaccess文件位于“projects”目录中?

尝试将规则更改为:

RewriteCond %{REQUEST_URI}  !\.(php|html?|jpg|gif)$
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301]

您还需要清除浏览器的缓存,因为重定向是301(永久),浏览器将缓存重定向并无限期地使用它,因为它是永久重定向。