我已经搜索过如何从网址中删除子目录'很多,大部分答案都是相当细微的,因此无法应用到我的场景中。
这是我能得到的最简洁的答案:
Remove sub directory and file extension
有哪个问题:
如果我有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
我希望这些文件(以及包含文件夹中存在的所有文件)可以在以下网址访问:
site.com/home
site.com/about
site.com/page3
答案 0 :(得分: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]