我在 cpanel 上運行 Wordpress,我想使用這個 htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(\/|)\d{4,7} - [L,NC,G]
RewriteRule ^(\/|)\d{4,7} - [END,NC,G]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(. )$ [NC]
RewriteRule ^.*$ https://www.%1%{REQUEST_URI} [L,NE,R=301,QSD]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
如果我在 cpanel 環境中使用這個 htaccess,當我訪問一個 url 時:https : //www.example.com/12345 我得到的是 404 而不是 410
如果ai使用linux交鑰匙在干凈的環境中運行它:它作業正常我得到410似乎在cpanel環境中[L]或[END]標志被忽略
uj5u.com熱心網友回復:
嘗試將 410 錯誤檔案重置為默認值:
ErrorDocument 410 default
我不認為問題與 cPanel 本身有關,但 410 可能被服務器定義的 ErrorDocument 轉換為 404,這在共享服務器環境中并不少見。
RewriteRule ^(\/|)\d{4,7} - [L,NC,G] RewriteRule ^(\/|)\d{4,7} - [END,NC,G]
但是同時擁有這兩個指令是沒有意義的。第二個指令永遠不會被處理。
嚴格來說,G旗幟意味著 L無論如何。所以,L國旗是多余的。(就像NC國旗一樣。)
但是在這種情況下使用LorEND沒有區別。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/402344.html
標籤:
