我正在摆弄我自己的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>
答案 0 :(得分:1)
我假设您的htaccess文件位于“projects”目录中?
尝试将规则更改为:
RewriteCond %{REQUEST_URI} !\.(php|html?|jpg|gif)$
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301]
您还需要清除浏览器的缓存,因为重定向是301(永久),浏览器将缓存重定向并无限期地使用它,因为它是永久重定向。