regex - .htaccess 删除 .php 但在末尾添加/

标签 regex apache .htaccess mod-rewrite url-rewriting

我目前已将一些代码添加到我的 .htaccess 文件中,并且它按预期工作。

RewriteEngine On

# hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

例如我有 = http://www.hello.com/world.php

这段代码删除了 php,看起来像这样 http://www.hello.com/world

我希望它看起来像这样 = http://www.hello.com/world/

如何将/添加到末尾?

最佳答案

你可以使用这个:

RewriteEngine On

# hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1/ [R,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

关于regex - .htaccess 删除 .php 但在末尾添加/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22616158/

相关文章:

Mysql:将字符串拆分为字符和数字

php - ZeroMQ Apache 模块

PHP in_array 触发内部服务器错误

java - 运行 gradle 项目时具有未经批准/未知许可证的文件

.htaccess - htaccess 将子目录名称重写为查询字符串参数

php - .htaccess - 不路由到公用文件夹

javascript - AngularJS SlimPHP CRUD - $http.delete 不起作用 - XMLHttpRequest 无法加载

java - 正则表达式对多行字符串进行分区

regex - Grails 域类单元测试,约束设置问题 - java.lang.NoClassDefFoundError : Could not initialize

regex - 动态域 htaccess 重定向