URL重写会删除网址结尾
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了URL重写会删除网址结尾相关的知识,希望对你有一定的参考价值。
我一直在尝试用htaccess重写一个特定的文件,/ u.php / example到/ u / example。 / example部分我将通过php url解析得到并使用。
所以,我读到的另一个问题建议使用以下代码
RewriteCond %{THE_REQUEST} /(u|a).php [NC]
RewriteRule ^ /%1 [L,R]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [L]
但是,这不会在重写时保留/u.php/example中的/ example,如果只输入/ u / example,则会导致500错误。
有没有解决这个问题?可能是什么问题呢?我无法在Stack上找到解决方案。
答案
您需要从URI捕获并重定向/example
部分
RewriteCond %{THE_REQUEST} /(u|a).php/([^s]*) [NC]
RewriteRule ^ /%1/%2 [L,R]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/(.*)?$ /$1.php/$2 [L]
以上是关于URL重写会删除网址结尾的主要内容,如果未能解决你的问题,请参考以下文章
如果文件名减去ext,则覆盖.htaccess url重写行为。与网址相同
Apache 重写:如何避免在省略 url 结尾斜杠时显示 url 参数?