首页 > 解决方案 > .htaccess 在正则表达式中使用反斜杠重写

问题描述

我想用 .htaccess rewriterule 来“捕捉”一个 URL。如何在重写规则中添加反斜杠?

例如:

如您所见,我想要重写器中“page1”和“subpage1”之间的反斜杠,因为路径可以是可变的(更多子页面)。

我试过这个:

RewriteRule ^(.*)$ /index.php?page=$1 [NC,L,QSA]

但后来我得到一个内部服务器错误。

提前致谢!

标签: regex.htaccessmod-rewrite

解决方案


您收到内部服务器错误,因为您的规则引入了无限重定向循环。

这就是你想要的

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?page=$1 [NC,L,QSA]

它在内部重写之前检查 url 是否不是物理文件夹/文件


推荐阅读