【问题标题】:SEO friendly URLs (.htaccess)SEO 友好的 URL (.htaccess)
【发布时间】:2011-05-29 02:21:10
【问题描述】:
http://www.domain.com/folder/file?x=1&y=2

改为:

http://www.domain.com/folder/file/1/2/

http://www.domain.com/folder/?x=1

改为:

http://www.domain.com/folder/1/

我试过了:

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^folder/(.*)/$ folder/index.php?x=$1 [L]
RewriteRule ^folder/file/(.*)/(.*)/$ folder/file.php?x=$1&y=$2 [L]

但这不起作用,有人知道为什么吗?

当我取出第一条规则时,我可以通过以下方式访问第二条:

http://www.domain.com/folder/1/2/

但不是:

http://www.domain.com/folder/file/1/2/

上帝,我希望我不会让正在阅读这篇文章的人感到困惑,我希望它有意义

【问题讨论】:

    标签: url .htaccess seo


    【解决方案1】:

    试试

    Options +FollowSymLinks
    RewriteEngine On
    RewriteRule ^folder/file/(.*)/(.*)/ /folder/file.php?x=$1&y=$2 [L]
    RewriteRule ^folder/(.*)/ /folder/index.php?x=$1 [L]
    

    规则的顺序很重要。您应该始终将具有最多规则的规则放在第一位,因为您的方式是到达第一条规则然后停止,因为由于(.*) 捕获了file,它总是正确的。

    【讨论】:

    • 谢谢。但它仍然不起作用。现在只有第二条规则有效。 ://
    • + 请注意,如果您还没有 .htaccess 文件,您必须自己在根目录中创建它。
    【解决方案2】:

    您是否尝试在文件夹名称前添加 / ?

    RewriteRule ^folder/(.*)/$ /folder/index.php?x=$1 [L]
    RewriteRule ^folder/file/(.*)/(.*)/$ /folder/file.php?x=$1&y=$2 [L]
    

    【讨论】:

    • 刚才试过了,还是不行。 :/ 我可以做任何一个工作,但不能同时工作。
    • 尝试在每条规则的末尾使用 [NC] 而不是 [L]
    猜你喜欢
    • 2013-01-22
    • 2013-02-03
    • 2011-05-09
    • 2015-01-13
    • 2016-03-12
    • 2015-04-17
    • 1970-01-01
    • 2021-07-23
    • 2014-02-26
    相关资源
    最近更新 更多