使用子目录中的htaccess删除文件扩展名

use*_*431 1 linux apache .htaccess mod-rewrite

我正在尝试使用htaccess删除文件扩展名,因此www.mysite.com/file.php变为www.mysite.com/file.

我在.htaccess文件中使用以下代码:

Options +FollowSymLinks
Options +Indexes
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.它落在哪里的子文件夹:www.mysite.com/subfolder/file.php 成为www.mysite.com/file.

我已经尝试.htaccess在子文件夹中上传另一个文件,但它仍然会这样做.感觉它应该非常简单,但我很挣扎......任何人都可以帮助我吗?谢谢!

编辑抱歉的人,应该说 - 该文件位于子文件夹中,如下所示:

www.mysite.com/folder/subfolder/file.php

.htaccess文件位于/folder,URL更改为以下格式:

www.mysite.com/subfolder/file

抱歉误导.

anu*_*ava 5

这是您需要隐藏.php扩展名的规则.这将进入DOCUMENT_ROOT目录中的.htaccess:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On

# To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]
Run Code Online (Sandbox Code Playgroud)