這一個讓我瘋狂。無論我做什麼,它都沒有說這個頁面是沒有的。 完整的網址將類似於:example.com/product_detail.php?id=18
將網址重定向到狀態GONE
我想給每個以product_details.php開頭的頁面狀態爲GONE。
我認爲這些人會工作,但沒有運氣
RewriteRule ^product_detail - [G]
RewriteRule ^product_detail.php?id=(.*)$ - [G]
任何幫助表示讚賞。
這一個讓我瘋狂。無論我做什麼,它都沒有說這個頁面是沒有的。 完整的網址將類似於:example.com/product_detail.php?id=18
將網址重定向到狀態GONE
我想給每個以product_details.php開頭的頁面狀態爲GONE。
我認爲這些人會工作,但沒有運氣
RewriteRule ^product_detail - [G]
RewriteRule ^product_detail.php?id=(.*)$ - [G]
任何幫助表示讚賞。
基於John Lin的評論,我將RewriteRule移到了htaccess的頂部,然後它就工作了。進一步的測試顯示,當我把下面的WordPress的基本線
# 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
它不工作的重寫規則,但是當它是這些行它的工作原理之前。 今天學到了新東西。
希望對其他人也有幫助。
好吧,正如我所看到的,wordpress塊將所有的請求都重定向到非文件和目錄作爲最後一條規則(這是[L],它告訴Apache停止處理)index.php - 所以無論你放什麼在重定向(對於不存在的文件)時,它不起作用。 –
感謝您解釋WP重定向。我將在WP塊之前放置所有不存在的文件的重定向。 – WendiT
您是否測試過該規則是否適用? 這個工作對我來說:
重寫規則^ product_detail * $ - [G]
你有RewriteEngine敘述上的.htaccess文件? (假設這就是你正在使用的)
是在Apache重寫模塊?是否允許在給定的位置?
適合我,雖然不需要第二條規則 –
謝謝,這有幫助。見下文。 – WendiT