2013-10-24 100 views
0

這一個讓我瘋狂。無論我做什麼,它都沒有說這個頁面是沒有的。 完整的網址將類似於:example.com/product_detail.php?id=18將網址重定向到狀態GONE

我想給每個以product_details.php開頭的頁面狀態爲GONE。

我認爲這些人會工作,但沒有運氣

RewriteRule ^product_detail - [G] 
RewriteRule ^product_detail.php?id=(.*)$ - [G] 

任何幫助表示讚賞。

+1

適合我,雖然不需要第二條規則 –

+0

謝謝,這有幫助。見下文。 – WendiT

回答

0

基於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 

它不工作的重寫規則,但是當它是這些行它的工作原理之前。 今天學到了新東西。

希望對其他人也有幫助。

+0

好吧,正如我所看到的,wordpress塊將所有的請求都重定向到非文件和目錄作爲最後一條規則(這是[L],它告訴Apache停止處理)index.php - 所以無論你放什麼在重定向(對於不存在的文件)時,它不起作用。 –

+0

感謝您解釋WP重定向。我將在WP塊之前放置所有不存在的文件的重定向。 – WendiT

0

您是否測試過該規則是否適用? 這個工作對我來說:

重寫規則^ product_detail * $ - [G]

你有RewriteEngine敘述上的.htaccess文件? (假設這就是你正在使用的)

是在Apache重寫模塊?是否允許在給定的位置?