【问题标题】:htaccess SEO friendly urlhtaccess SEO友好的网址
【发布时间】:2014-07-26 08:38:41
【问题描述】:

我到特定网站的网址如下所示:

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]

【问题讨论】:

    标签: php apache .htaccess mod-rewrite


    【解决方案1】:

    您需要像这样附加您的 .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 的末尾添加额外的参数,它会正确传递它们。

    【讨论】:

    • 我试过了,但没有任何改变。即使我只尝试简单地删除 .php 扩展名,也没有任何改变。
    猜你喜欢
    • 2016-03-11
    • 2017-05-14
    • 2010-10-24
    • 2016-02-02
    • 2013-03-20
    • 2011-07-23
    • 2011-04-06
    • 2014-01-14
    • 2012-10-15
    相关资源
    最近更新 更多