apache - htaccess 重定向带参数并排除一个文件夹

标签 apache .htaccess mod-rewrite

我已经尝试了一些排列,但仍然无法弄清楚。 我有3个要求:

  • 将 xxx.php 中的所有内容转发到 xxx
  • mydomain/sentence 实际上加载 mydomain/page?q=sentence
  • 排除文件夹,例如mydomain/日志

所以我设法使用前两个来工作:

Options +FollowSymLinks
RewriteEngine On
#RewriteCond %{REQUEST_URI}!^/panel/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ page.php?q=$1 [NC,L]
# RewriteRule ^([^\.]+)$ $1.php [NC,L]

如果我取消第三行的注释,一切都会中断。 任何帮助表示赞赏!还请指出我可能有的任何错误。提前致谢!对于格式错误,我深表歉意。不管我怎么打字,编辑器总是报错。

最佳答案

您可以尝试以下规则,仅重定向到实际存在的 PHP 文件。我还认为该规则必须出现在其他重写规则之前,因为其他规则的条件也会匹配。

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

#RewriteCond %{REQUEST_URI}!^/panel/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ page.php?q=$1 [NC,L]

关于apache - htaccess 重定向带参数并排除一个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65125753/

相关文章:

php - ISPConfig SOAP Remote API 添加启用 php 的 Web 域

java - 如何同时使用 Tomcat 的非阻塞连接器(NIO 或 APR)和 Apache Httpd?

apache - Apache 的 META-INF/resources/extraction

php - 如何将 mydomain.io 重定向到 mydomain.com

.htaccess - htaccess 仅当 HTTP 引荐来源网址不等于某些内容时才重定向

php - 未选择数据库 PHP

apache - 如何启用对 Joomla 站点根目录中我的自定义目录的直接访问?

.htaccess - 如何注销适用于 Google Chrome 的 HTTP 身份验证 (htaccess)?

apache - 重写(隐藏)jsp 扩展制动 servlet

php - 使用 php 和 mod_rewrite 将 php 搜索 url 更改为短 url