【发布时间】:2016-08-07 13:32:46
【问题描述】:
感谢您阅读我的问题。
我有一个在 Apache 网络服务器上运行的应用程序 (php)(目前在旧的 apache 2.2.17 上)。现在我将 Apache 升级到 2.4.18。
为了从 url 中删除 index.php,有一个 .htaccess 文件。有了这个规则。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
在某些请求上,应用程序会创建发布请求,例如
http://www.xyz.yz//targetname/targetname2/
双斜杠 // 在 url 路径中。
在 Apache 2.2.17 上,此 URL 没有问题,但 Apache 2.4.18 会产生 404 错误。
我玩了很多这样的重写规则:
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ [NC]
RewriteRule . %1/%2 [R=307,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
但是现在客户端发送了两次 post 请求。那么,例如,我如何在不重写的情况下告诉 apache“忽略”双引号。
感谢您的想法和解决方案。
【问题讨论】: