如何从URL删除文件夹?

时间:2019-01-22 20:36:26

标签: .htaccess

首先,这个问题在堆栈上被问过几次,但是,所有答案似乎都不适合我。

我有一个网站的根目录中有一个“ pages”文件夹,我想将我所有的网站页面都存储在其中。

这是我的结构

/pages/folder/folder2/index.php

我要制作它,以便显示链接:

https://wwww.website.com/folder/folder2/index.php

删除URL的“ / pages /”部分时,当我尝试前面提出的所有答案时,都会收到404错误。

这是我正在使用的htaccess

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule ^pages(/.*|)$ $1 [L,NC]  
</IfModule>

我也尝试过:

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

此htaccess位于根目录中。我似乎无法正常工作,有人可以提供任何建议吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您的第二次尝试看起来不错,尽管可能会有所改善:

RewriteEngine On
RewriteRule ^/?pages/(.*)$ /$1 [R=301]

如果已加载http服务器的重写模块,则该规则应在http服务器主机配置内部或某些动态配置文件(“ .htaccess”样式文件)中起作用。您绝对应该首选第一个选项,但是如果您确实需要使用动态配置文件,则请务必对此类文件的解释进行配置,并将该文件放置在主机的DOCUMENT_ROOT文件夹中并且可读用于http服务器进程。

如果这不起作用,则需要开始调试。在这种情况下,您将在发出测试请求时首先监视HTTP服务器的错误日志文件。如果未在其中显示任何提示,则需要启用重写日志记录,这使您可以了解重写引擎内部到底发生了什么。有关此信息,请参见apc重写模块的官方文档。作为OpenSource软件的典型代表,它具有出色的质量,并提供了很多示例。