php - Htaccess 重写删除尾部斜杠

标签 php .htaccess

Htaccess 以某种方式自动移除 url 末尾的所有尾部斜杠,只保留一个斜杠。

例如http://localhost/api/param1///变成 http://localhost/api/param1/

你能告诉我为什么会发生这种情况以及如何摆脱这种情况吗? (.*) 应该匹配所有内容吗?但事实并非如此。就像我说的,如果我去http://localhost/api/param1/// $_GET['url'] 应该是 param1/// 但它是 param1/

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

最佳答案

Apache 在 RewriteRule 模式中自动将多个斜线剥离为一个斜线。

如果您想捕获多个斜线,请改用 RewriteCond:

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

关于php - Htaccess 重写删除尾部斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38561645/

相关文章:

php - 在网页中嵌入 htaccess 密码对话(w PHP)

php - 无法在位置 : to://app. js 写入文件(暂存站点上的 Laravel 9 Composer 更新)

javascript - 在ubuntu中打开文件和下载不起作用

php - Mysql ON DUPLICATE KEY 错误

php - 拉维尔 4 : Redirect a post request to different controller method

php - 使两个表中的同一列始终具有相同的数据?

apache - 如何通过 htaccess 禁用 apache 中的访问日志?

apache - 使一个 HTML 文件通过 PHP 处理器运行

html - .htaccess 301 将图像从旧图像重定向到新图像

php - CakePHP 3 调试 session 超时