簡體   English   中英

301在動態PHP網站中使用.htaccess重定向

[英]301 redirect with .htaccess in dynamic PHP website

我想問一個關於301 URL重定向的問題。 因此,我有一個網站,它的前URL曾經是:

http://www.sample.com/tutorials.php?name=sample

但是,現在是:

http://www.sample.com/tutorials/programming/sample.php

因此,您可以得出結論,新URL的語法是這樣的:

http://www.sample.com/tutorials/(name of the category)/(value of the variable).php

我一直在玩301重定向,但是使用此代碼時出現500內部服務器錯誤:

RewriteEngine On
RewriteCond %{COND ^tutorials.php?name=sample$ HTTP/1.1} ^[A-Z]{3,9}\ /tutorials\.php\?name=([^&\ ]+)
RewriteRule ^ /tutorials/programming/%1.php [L,R=301]

我還嘗試創建自己的301重定向代碼,該代碼不會給我500內部服務器錯誤,但我不知道它是否可以工作(我無法在localhost上對其進行測試,因為搜索引擎不會為localhost編制索引)。 這里是 :

RewriteEngine On
Redirect 301 /tutorials.php?name=$1 http://www.sample.com/tutorials/programming/(.+)\.php

因此,如果上面的代碼不錯,但是不好,請有人解釋(請盡可能緩慢和詳細地介紹)如何301將我的舊站點重定向到我的新站點。 如前所述,我使用動態網站,並且使用.htaccess文件(mod_rewrite)進行改寫。

我試圖盡可能詳細。 如果您需要其他詳細信息,請隨時詢問。

您必須將舊鏈接重定向到新域。 這就是您可以做到的。

使用htaccess

使用下面的代碼創建一個.htaccess文件,它將確保您舊域的所有目錄和頁面都將正確重定向到新域。 .htaccess文件需要放置在舊網站的根目錄中(即,放置索引文件的目錄)

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L] 

除了重定向外,我建議您聯系每個反向鏈接站點以修改其反向鏈接以指向您的新網站。

注意:這種.htaccess重定向方法僅在啟用Apache Mod-Rewrite模塊的Linux服務器上有效。

參閱以獲得更多方法

編輯:

使用以下代碼創建一個.htaccess文件,它將確保所有進入domain.com的請求都將重定向到www.domain.com。.htaccess文件需要放置在您舊網站的根目錄中(即放置索引文件的目錄)

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc] 

暫無
暫無

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

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