【发布时间】:2019-01-21 18:34:16
【问题描述】:
我正在尝试仅在第一个斜杠之后从文件中删除 .php 扩展名。
现在我有:
example.com/file.php/123123
我想要的是:
example.com/file/123123
我已尝试将此代码添加到 .htaccess 文件中
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(e)/?$ /$1.php [L,NC]
它成功删除了 .php 扩展名,但仅限于 URL 的最后一部分。 意思是:
example.com/file/123123
作为:
example.com/file/123123.php
然后因为没有123123.php导致无法加载。
我怎样才能让它只尝试从第一个斜杠之后删除 .php? 谢谢
【问题讨论】:
-
编写一个特定于
file/\d+的规则,而不是使用过度宣传的“.php 删除”样板。 -
写特定规则到file/\d+是什么意思?
-
RewriteRule ^file/(\d+)$ …。另请参阅:Reference: mod_rewrite, URL rewriting and "pretty links" explained 了解一些快速介绍。 (mod_rewrite 不仅仅是魔法 .htaccess codez;)