mod_rewrite和“漂亮的网址”

时间:2012-10-31 18:53:14

标签: url mod-rewrite seo

我可怜地将mod_rewrite用于干净,SEO友好的网址,但我真的很有信心学习。我已经找到了各种在线教程,但似乎无法真正理解这些信息,足以按照我喜欢的方式操作它。

I have a home page: http://mysite.com/index.html

which I would like to display as: http://mysite.com/home

同样,我有子目录:

http://mysite.com/about/index.html
http://mysite.com/contact/index.php
Which I would like to display as 
http://mysite.com/about
and http://mysite.com/contact

和不同产品的图库部分,每个产品都有一个独特的页面,例如:

http://mysite.com/products/happybunnies.html OR
http://mysite.com/products/sillytigers.html
That I want to display as:
http://mysite.com/products/happy-bunnies/ AND
http://mysite.com/products/silly-tigers/

最后一个对我来说是最重要的。如果有人能够找到慷慨解释:

  1. 整个.htaccess文件的样子,包括在实际编写代码之前所有必要的开始和结束标记

  2. 采用“happybunnies.html”并使其成为“happy-bunnies”的mod_rewrite代码。和html文件中允许发生的任何必要信息。 (我在网址中看到类似“name =”的内容,但我不明白将其放在文件中的位置)

  3. 我觉得这很简单,但我只是错过了对它的更好理解。非常感谢你!

1 个答案:

答案 0 :(得分:0)

RewriteEngine on
RewriteCond %{QUERY_STRING} =m=1
RewriteCond %{REQUEST_URI} =/index.html
RewriteRule ^.* /home? [R=301]
RewriteRule ^home /index.html?m=1 [QSA]

快来看看它是如何运作的