如何使用htaccess忽略来自漂亮URL的文件夹


How to ignore a folder from beautiful URL using htaccess

我正在开发一个网站,假设example.com和一个位于example.com/blog的博客。网站语言是PHP(我自己设计和编程),我使用wordpress作为博客。

我试图在网站的主要部分使用漂亮的URL,通过htaccess中的以下代码将example.com/services.php转换为example.com/services:

# BEAUTIFUL URL
RewriteBase /
DirectorySlash Off
# remove trailing slash
RewriteRule ^(.*)'/('?.*)?$ $1$2 [R=301,L]
# rewrite /dir/file?query to /dir/file.php?query
RewriteRule ^(['w'/-]+)('?.*)?$ $1.php$2 [L,T=application/x-httpd-php]

网站的主要部分运行良好。但当我试图加载博客时,我必须在URL的末尾添加一个斜杠才能使其工作。

http://www.example.com/blog>>403禁止错误

http://www.example.com/blog/>>正确加载

我试着用htaccess在URL后面添加斜杠,但我不知道这是不是最好的解决方案?有人能建议一种方法,忽略博客文件夹,以影响美丽的网址吗?

处理这个问题的简单方法是创建一个名为blog.php的文件,该文件只需重定向到example.com/blog/.

RewriteCond %{REQUEST_URI} !^/blog

在RewriteRules之上。

没有测试它,我认为它应该工作