0

我已经搜索了很多“如何从 url 中删除子目录”,并且大多数答案都相当微妙,因此不能应用于我的场景。

这是我能得到的最简洁的答案:

删除子目录和文件扩展名

哪个有问题:

如果我有 site.com/page/about.php

如何删除子目录和文件扩展名?

示例:site.com/about

并给出了答案:

Options +FollowSymLinks
RewriteEngine On 
RewriteRule ^about(\/?)$ /page/about.php [NC,L]

我的场景和期望的结果非常相似,我的所有“页面”都在包含文件夹中,例如:

site.com/includes/home.php
site.com/includes/about.php
site.com/includes/page3.php

我希望这些文件(以及包含文件夹中存在的任何文件)可以通过 URL 访问,例如:

site.com/home
site.com/about
site.com/page3
4

1 回答 1

0

我认为这是解决方案:

RewriteEngine On

# Remove sub directory from URL
RewriteRule ^([^.]+)/?$ includes/$1.php

# Remove file extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.php [L]
于 2013-09-02T08:53:18.053 回答