从子目录中的 URL 中删除 .php

Mos*_*rha 6 apache .htaccess url-rewriting centos6 directadmin

在运行 apache 2.4 和 DirectAdmin 的 CentOS 6 上,我有一个 WordPress 网站。除了 WordPress 标准架构之外,我想要一些位于子目录中的半静态页面。

文件系统如下:/home/user/public_html/sub/static1.php

所需的 URL 如下:https://domain/sub/static1

目前我打开带有扩展名的页面没有问题.php。但我想删除它。我尝试添加一些重写规则,.htaccess但由于请求被重定向到主页而失败。

我尝试在网上找到一些解决方案,包括这个网站,但没有任何帮助我。我认为 DirectAdmin 涉及此问题。

任何帮助,将不胜感激

Cro*_*ses 5

在您的/home/user/public_html/sub/.htaccess文件中,使用以下代码:

Options -MultiViews
RewriteEngine on

# remove php
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{REQUEST_URI} !/index\.php$
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]

# rewrite with php php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/sub/$1.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
Run Code Online (Sandbox Code Playgroud)