URL重写删除URL结尾

时间:2019-04-20 16:29:21

标签: php apache .htaccess htdocs

我一直在尝试使用htaccess将我拥有的特定文件/u.php/example重写为/ u / example。我将通过php URL解析获得和使用的/ example部分。

所以,我阅读的另一个问题建议使用以下代码

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上找到解决方案。

1 个答案:

答案 0 :(得分: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]