2012-07-11 40 views
0

我已經在我的WordPress博客切換從URL中是這樣的:如何寫一個正則表達式來匹配除char之外的所有內容?

/blog/2012/01/01/how-to-build-a-website 

爲較短的網址這樣

/blog/?p=123 

的WordPress有一個搜索引擎誰是這樣的

/blog/search/?s=how to build a website 

並搜索s params。

我正在嘗試使用.htaccess Redirectmatch將所有舊的網址重定向到搜索網址,其中的帖子標題爲s params。

因此,如果用戶農奴到

/blog/2012/01/01/how-to-build-a-website 

應重定向到

/blog/search/?s=how to build a website 

我編寫這個

Redirectmatch blog/\d+/\d+/\d+/(.+) http://www.mysite.com/blog/?s=$1 

但這正則表達式後終於虎視眈眈整個字符串/內部的-符號。

這樣,如果一個用戶農奴到

/blog/2012/01/01/how-to-build-a-website 

將被重定向到

/blog/search/?s=how-to-build-a-website 

,而我希望用戶redireced到

/blog/search/?s=how to build a website 

我怎麼能寫的正則表達式去做這個?

編輯: 是的傢伙,我知道這種網址是醜陋:)但我只知道如何做到這一點,因爲這背後有我試圖解決一些技術問題..

+7

爲什麼你會從美麗的網址切換到醜陋的?爲什麼? – 2012-07-11 18:10:51

+0

我可以推薦插件[smart 404](http://atastypixel.com/blog/wordpress/plugins/smart-404/),這應該解決這個問題,而不使用.htacess – 2012-07-11 18:33:25

+1

同上@AnthonyMills問。長URL是Wordpress的強項之一。你會得到很棒的SEO。選擇像你這樣較短的網址是確保人們不能在你的帖子中使用谷歌的好方法。 – Dogweather 2012-07-11 18:36:04

回答

0

請不要這樣做。我知道看起來似乎很適合做短網址;畢竟,你得到像TinyURL之類的東西。 /blog/?p=123/blog/2012/01/01/how-to-build-a-website更好嗎?

不,它不是。

原因是因爲當有人發佈指向您的博客文章的鏈接時,較長的網址意味着某種東西。它告訴這個人有多大的文章。它給出了標題。它可以幫助人們找到你的文章;畢竟,Google在爲您的網站編制索引時會給予URL很大的權重。

曾經爲計算機構建的URL。像/blog/?p=123這樣的東西對電腦來說是完美的;它很容易解析,它不需要任何額外的數據庫查詢。您可以編寫兩篇名爲「如何構建網站」的文章,博客引擎不必確保它在第二篇文章中添加-2。它可以很容易地映射到服務器上文件的實際結構,而不會構成URL中的結構。

但是我們已經意識到,URL也可以爲人類構建。 URL /blog/2012/01/01/how-to-build-a-website有一種人類可以很容易理解的形式。當然,輸入的時間稍長一些,但是你輸入的所有內容都比較容易,大多數URL都是copy'n'pasted,或者只是點擊。當然,這對電腦來說是更多的工作,但它是值得的。 它使互聯網更友好。

所以我很抱歉,但我不會幫你。 :)

+0

是的,我知道這種類型的網址很醜:)但我只是想知道如何去做,因爲在這個背後有一些技術問題,我正在努力解決.. – gaggina 2012-07-11 22:07:11

+0

不管怎樣,我同意你說的一切 – gaggina 2012-07-11 22:08:23

相關問題