URL重写会删除网址结尾

问题描述 投票:1回答:1

我一直在尝试用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上找到解决方案。

php apache .htaccess htdocs
1个回答
1
投票

您需要从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]
© www.soinside.com 2019 - 2024. All rights reserved.