首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mod_rewrite将动态URL转换为SEO友好URL ??

使用mod_rewrite将动态URL转换为SEO友好URL ??
EN

Stack Overflow用户
提问于 2012-10-04 18:51:44
回答 1查看 715关注 0票数 0

我不是一个PHP开发人员,我已经被要求执行一些SEO。这是我的.htaccess

代码语言:javascript
复制
    RewriteEngine On
    RewriteBase /
    RewriteRule [_\ ] space.cgi [L]
    ErrorDocument 404 /errors/404.php 
    ErrorDocument 400 /errors/badrequest.php
    ErrorDocument 401 /errors/authreqd.php
    ErrorDocument 403 /errors/forbid.php
    ErrorDocument 500 /errors/serverr.php 
    ErrorDocument 503 /errors/ServiceUnavailable.php 

    RewriteEngine On 
    RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Custo [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^HMView [OR] 
    RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR] 
    RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR] 
    RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^larbin [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Wget [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Widow [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Zeus 
    RewriteRule ^.* - [F,L]
    RewriteRule rss.xml rss.php [QSA,L]

    RewriteEngine on
    RewriteRule ^index.htm$ index.php
    RewriteRule ^search.htm$ search.php
    RewriteRule ^about.htm$ about.php
    RewriteRule ^contacts.htm$ contacts.php
    RewriteRule ^gallery.htm$ gallery.php
    RewriteRule readmore.htm$ readmore.php

    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule .* $0.php

    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.htm -f
    RewriteRule .* $0.htm

我正在尝试重写我的URL,使其更加友好,我正在使用以下代码在我的.htaccess文件中这样做:

代码语言:javascript
复制
RewriteEngine On      
RewriteRule blog/(.*)/$ readmore.php?&postid=$1 [NC]      
RewriteRule ^/*(.+/)?([^.]*[^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]

最后一个代码不适用于我的网站:我不知道!!帮帮忙请http://www.afrogfx.com/index

要转换的URL

代码语言:javascript
复制
 http://www.afrogfx.com/readmore?postid=62&categories=6&catid=6#.UG3ZoK5adS8

http://www.afrogfx.com/readmore?postid=62

EN

回答 1

Stack Overflow用户

发布于 2012-10-04 19:08:26

最后一段代码不适用于我的网站:我不知道

您无法与RewriteRule中的查询字符串匹配,您也不希望盲目地重写URI,因为规则就在此之前重写,并且只会导致重定向循环。将第二条规则更改为:

代码语言:javascript
复制
RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /readmore\.php\?
RewriteCond %{QUERY_STRING} postid=([^&]+)
RewriteRule ^ /blog/%1/ [L,R=301]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12733883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档