2012-10-04 118 views
0

我不是PHP開發人員,我被要求執行一些搜索引擎優化。 這裏是我的.htaccess使用mod_rewrite將動態網址轉換爲SEO友好的URL?

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:[email protected] [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 

我試圖重寫我的網址要更加SEO友好,我使用下面的代碼做這在我的.htaccess文件:

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

最後的代碼不能與我的網站一起工作:我不知道!幫助請 http://www.afrogfx.com/index

要轉換的URL

http://www.afrogfx.com/readmore?postid=62&categories=6&catid=6#.UG3ZoK5adS8 

OR

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

+0

@Jon Lin:S Me給你的代碼不工作 – ahmedhassan

回答

0

最後一個代碼不工作與我的網站:■我不知道

喲你無法與RewriteRule中的查詢字符串相匹配,你也不希望在該規則發生之前盲目地重寫URI,而只會導致重定向循環。改變你的第二條規則:

RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /readmore\.php\? 
RewriteCond %{QUERY_STRING} postid=([^&]+) 
RewriteRule^/blog/%1/ [L,R=301]