我剛剛花了最近2個小時通過Google和Stackoverflow存檔進行拖網,以查看我是否可以找到我的問題的答案,而不是找不到任何東西,我找到了太多!所以很不幸,我不得不加入301重定向問題的山峯。抱歉。並感謝您看看這個;)重寫URL並永久重定向到新URL
基本上,我有一個博客,我正在尋求簡化URL。目前的URL看起來像這樣:
http://tempertemper.net/post.php?s=2012-05-30-freeagent
我想他們是這樣的:
http://tempertemper.net/2012-05-30-freeagent
我試着將重寫規則/(.*)$ /後。 php?s = $ 1到我的.htaccess文件,但它沒有它。
完整文件目前看起來是這樣的:
<ifModule mod_rewrite.c>
DirectoryIndex index.php index.html
ErrorDocument 404 http://tempertemper.net/error.php
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.tempertemper\.net$
RewriteCond %{REQUEST_URI} !cron.php
RewriteRule ^(.*)$ http://tempertemper.net/$1 [R=301,L]
</ifModule>
我已經試過了重定向WWW的canonicalisation位之後添加此。非WWW:
重寫規則^([A-ZA-Z0-9 _-] +)$ post.php中?S = $ 1
它排序的工作原理。然後我可以鏈接到http://tempertemper.net/2012-05-30-freeagent但問題是,http://tempertemper.net/post.php?s=2012-05-30-freeagent仍然存在。這對於seo來說可能不是很好,因爲我猜想我會在搜索引擎的眼中擁有重複的內容。我試過在新行的末尾放置[R = 301],但它會停止新鏈接的工作。還嘗試將L放在方括號中,並將其從規範化命令中移除,但沒有快樂(L代表最後一個命令,是不是......)。
基本上,我是所有生成或使用post.php?s =生成的URL以永久重定向到沒有post.php?s =的URL,以便任何鏈接進入這些頁面被重定向,未來的任何鏈接都將直接指向新外觀的網址。
希望是有道理的......
感謝,
馬丁:)
嗨Sylwester,我已經試過補充說,但它帶我到這個頁面,當我加載網站:http://tempertemper.net/ post.php?s = post.php並給我錯誤信息「頁面沒有正確重定向,Firefox檢測到服務器正在重定向這個地址的請求,永遠不會完成。由於禁用或拒絕接受cookies而造成的。「 – Martin 2012-08-08 11:55:48
這是因爲post.php macthes重寫規則並做了一個無限循環。我重寫了我的答案,並認爲提供的代碼將替代您的.htaccess文件。 – Sylwester 2012-08-08 13:07:03
嗯...當我在http://tempertemper.net輸入任何網址時,它會把我帶到http://tempertemper.net/post.php,包括根目錄。奇怪的是,它只剝去了CSS。它還顯示在一個頁面上的所有帖子,我認爲這是有道理的。也許這是我如何將它與規範化重定向一起寫入的?我試圖刪除,但發生了同樣的事情... – Martin 2012-08-08 13:15:15