簡體   English   中英

通過.htaccess從URL中刪除“.html”以獲取WordPress網站

[英]Remove “.html” from URL via .htaccess for a WordPress website

背景資料:

我搜索了stackoverflow的特定解決方案,找不到一個能解決我問題的方法。 提前感謝您提供的任何幫助。 感謝您的知識。

我決定接受一份合同,將Joomla網站(用客戶的話說)轉換成WordPress網站。 一切都順利進行,除了Joomla網站鏈接到.html文件,包括導航和100多個帖子的內容。

我沒有逐個瀏覽每個帖子並更新鏈接或運行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

我正在設置頁面存根以遵循Joomla頁面的文件名,因此http://the-site.com/category/the-webpage將起作用。


我的問題:

您是否可以幫助我找到有人訪問網站時從URL中刪除.html的解決方案,即使服務器上不存在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改變了工作。 謝謝蒂姆!

這將強制外部重定向到您的新網址,但這可能不適合您的情況。 我仍然在想是否有辦法保持重定向內部並更新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]

您想使用URL重寫

RewriteEngine On
RewriteRule ^(.*)\.html$ $1

這應該做到這一點。 它會將對site.com/category/whatever.html的請求重寫為site.com/category/whatever。 它不應該依賴於所請求的文件。

    <Directory /var/www/category>
        RewriteEngine on
        RewriteRule (.*)\.html$ /category/$1
    </Directory>

這是apache2.conf或虛擬主機文件的格式。 不確定是否在.htaccess中使用該命令。 如果可以的話,最好在服務器conf中處理它,因為在服務器啟動時只解析一次,並且在每個請求上解析htaccess。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM