gpt4 book ai didi

apache - 通过 .htaccess 从 WordPress 网站的 URL 中删除 ".html"

转载 作者:行者123 更新时间:2023-12-04 10:05:55 26 4
gpt4 key购买 nike

背景资料:

我在 stackoverflow 上搜索了特定的解决方案,但找不到解决我的情况的解决方案。在此先感谢您提供的任何帮助。您的知识是赞赏。

我决定接受一份契约(Contract),将(用客户的话)一个 Joomla 网站“转换”成一个 WordPress 网站。除了 Joomla 站点在导航和 100 多个帖子的内容中链接到 .html 文件之外,一切都进行得很顺利。

与其逐一浏览每个帖子并更新链接或运行 SQL 命令以从 URL 中删除“.html”,我决定将压力放在 .htaccess 上,我对此感到有些自在。

我想做什么↓

在WordPress中,我启用了自定义永久链接,如下所示:
/%category%/%postname%

这是 中的一个示例旧 帖子中的网址如下所示:

http://the-site.com/category/the-webpage.html

我需要 htaccess 文件来告诉网络服务器删除 .html 以便用户在访问“ http://the-site.com/the-webpage.html”后改为发送到:
http://the-site.com/category/the-webpage

我正在设置页面 stub 以遵循 Joomla 页面的文件名,所以 http://the-site.com/category/the-webpage将工作。

我的问题:

即使服务器上不存在 HTML 文件,您能否帮助我找到在有人访问该站点时从 URL 中删除 .html 的解决方案?

以下是我进行更改之前 .htaccess 文件的外观:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

这是截至东部时间下午 5:35 的最新 .htaccess 文件:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ $1 [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

↑最新的 .htaccess 更改工作。 Thanks Tim!

最佳答案

这将强制外部重定向到您的新 URL,但这可能不适合您的情况。我仍在考虑是否有办法将重定向保持在内部并更新 WordPress 用来确定要提供哪个页面的变量,但到目前为止,我还没有想到任何可行的方法。

整个 .htaccess :

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ $1 [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

关于apache - 通过 .htaccess 从 WordPress 网站的 URL 中删除 ".html",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3128765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com