首先,这个问题在堆栈上被问过几次,但是,所有答案似乎都不适合我。
我有一个网站的根目录中有一个“ 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位于根目录中。我似乎无法正常工作,有人可以提供任何建议吗?谢谢!
答案 0 :(得分:0)
您的第二次尝试看起来不错,尽管可能会有所改善:
RewriteEngine On
RewriteRule ^/?pages/(.*)$ /$1 [R=301]
如果已加载http服务器的重写模块,则该规则应在http服务器主机配置内部或某些动态配置文件(“ .htaccess”样式文件)中起作用。您绝对应该首选第一个选项,但是如果您确实需要使用动态配置文件,则请务必对此类文件的解释进行配置,并将该文件放置在主机的DOCUMENT_ROOT
文件夹中并且可读用于http服务器进程。
如果这不起作用,则需要开始调试。在这种情况下,您将在发出测试请求时首先监视HTTP服务器的错误日志文件。如果未在其中显示任何提示,则需要启用重写日志记录,这使您可以了解重写引擎内部到底发生了什么。有关此信息,请参见apc重写模块的官方文档。作为OpenSource软件的典型代表,它具有出色的质量,并提供了很多示例。