Mod_Rewrite和网站链接结构

时间:2011-10-31 01:22:24

标签: php .htaccess mod-rewrite seo

我有一个包含此结构的网站

index.php / home.php / profile.php / news.php / photos.php

newsfeed.php - 新闻报道

photo.php - 照片

用户还可以使用用户名获取其个人资料的简短链接,例如

mysite.com/UserName

现在我在.htaccess中使用此代码来重写用户名

的URL
RewriteEngine on
RewriteOptions MaxRedirects=1
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule .* - [L]
RewriteRule ^([^/]+)/?$ profile.php?u=$1 [L]

现在我想把我所有的链接重写成SE-Friendly,就像这样

index.php   --> index
home.php    --> home
photos.php  --> photos
videos.php  --> videos

newsfeed.php?id=xx  --> news/xx
photo.php?id=xx     --> photo/xx

所以任何想法?

1 个答案:

答案 0 :(得分:1)

这就是我要做的事情:

RewriteEngine on
RewriteOptions MaxRedirects=1
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule .* - [L]
RewriteRule ^users/([^/]+)/?$ profile.php?u=$1 [L]
RewriteRule ^news/([0-9]+)/?$ newsfeed.php?id=$1 [L]
RewriteRule ^photo/([0-9]+)/?$ photo.php?id=$1 [L]
RewriteRule ^videos/?$ videos.php [L]
RewriteRule ^index/?$ index.php [L]
RewriteRule ^home/?$ home.php [L]

然后就这样添加它们。