apache - .htaccess 如果文件存在则重定向,否则传递

标签 apache .htaccess redirect

在我维护的网站上,曾经有一个重定向,可以将请求重定向到相应的 .php 文件,如下所示:www.example.com/press-room -> www.example.com/新闻室.php。但是,如果 php 文件不存在,它会将请求传递给 WordPress,然后 WordPress 会查找带有 slug 'press-room' 的页面。

嗯,在过去的几天里,.htaccess 文件被重置,重定向不再有效。如何在不干扰 WordPress 的情况下重新实现此规则?也就是说,如果 php 文件存在,我如何实现此重定向?

最佳答案

在您的 WordPress 规则之上尝试一下:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

首先,确保它不是目录。其次,检查将 .php 附加到末尾是否会为您提供现有文件。最后,进行重写。

关于apache - .htaccess 如果文件存在则重定向,否则传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11416966/

相关文章:

regex - 如何使用正则表达式执行proxypassreverse

iis - 在 IIS 中设置重定向并保留参数

java - Apache CXF java2ws 插件

apache - Docker CentOS 镜像不会自动启动 httpd

php - CakePHP 中 SSL 的最佳实践

php - 更改 WordPress 网站的 url。

.htaccess - htaccess filesmatch(htm|html|php) 除了两个特定文件?

web-applications - 如何将不同的 URL 定向到同一 Tomcat 应用程序中的不同页面

.htaccess - 直接链接到我的 URL 的问题 (https ://)

apache - 如何在 Xampp 上为 Laravel 启用虚拟主机?