[英]htaccess SEO friendly url
我到特定网站的网址如下所示:
http://www.mytestingsite123.com/play.php?alias=this-is-an-alias#.U5BPYvl_tNo
但我想要这个网址:
http://www.mytestingsite123.com/this-is-an-alias
要么
http://www.mytestingsite123.com/video/this-is-an-alias
这样对SEO更加友好。 您能帮我吗,我该如何通过修改.htaccess文件来做到这一点。
我具有以下内容的.htaccess文件:
RewriteEngine On
# whole domains
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]
# subdomains
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]
# aliases (if misssing)
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]
# subdomains (if misssing)
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]
您需要像这样附加.htaccess
文件:
RewriteRule ^video/([^/]+)?$ play.php?alias=$1 [L]
RewriteRule ^([^/]+)?$ play.php?alias=$1 [L]
第一条规则将与http://www.mytestingsite123.com/video/this-is-an-alias匹配
第二条规则将匹配http://www.mytestingsite123.com/this-is-an-alias
[L]
告诉apache停止寻找规则,您可以将其更改为[L,QSA]
,这意味着,如果在新uri的末尾添加额外的参数,则可以正确地传递它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.