我正尝试仅在第一个斜杠后从文件中删除.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中删除它? 谢谢
答案 0 :(得分:0)
如果已安装并启用mod_rewrite
模块,则可以将以下代码粘贴到apache2.conf
文件中:
<Directory /path/to/site/folder>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ $1 [R,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule (.*) $1.php [L]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule (.*) $1.html [L]
</IfModule>
</Directory>
默认情况下可以安装此模块,因此您可以尝试使用此代码。它可能会起作用。