2017-09-03 81 views
0

我使用htdocs文件夾中的一些文件創建了我的網站,例如:.htaccess,detail.php ...在過去,我爲我的網站使用了舊的URL結構:detail.php?id=12。然後,我用一個新問題:product/12,通過使用這種簡單的.htaccess如何用`.htaccess`重寫URL,它不允許直接鏈接?

RewriteEngine On 
RewriteRule "^product/([0-9]+)/?$" "/detail.php?$1" 

而現在,我不希望任何用戶都可以訪問我的網站,與舊的URL結構。如果你不介意,你能告訴我:如何用.htaccess重寫URL,它不允許直接鏈接?

在我的發言中,disallows direct links表示404爲直接鏈接。

+0

你的意思是「禁止舊鏈接」,讓他們返回404? –

+0

我認爲,由於技術原因,拒絕參觀者的一部分,有時甚至是重要的,這絕不是很聰明。你應該找到一種方法將這些頁面重定向到新的url。 (做一個product2頁面,用於新的重寫,並從舊的產品頁面重定向到新的url的所有訪問) – Croises

+0

我明白這一點。但是,301重定向可能會更新搜索引擎的所有鏈接。雖然與404你失去了SEO ... – Croises

回答

2

要禁止你的舊鏈接,您可以使用以下規則:

RewriteEngine on 

RewriteCond %{THE_REQUEST} /product\.php\?id=.*$ 
RewriteRule^- [R=404,L] 

這將你的舊鏈接重定向到您的網站的錯誤頁面。

+0

@ 16CTT1X我已經更新了我的答案。 – starkeen

+0

Downvoter:請添加解釋評論。 – starkeen