【问题标题】:SEO Friendly URLs Rewrite Using Htaccess And Mod_Rewrite使用 Htaccess 和 Mod_Rewrite 重写 SEO 友好的 URL
【发布时间】:2015-02-14 13:30:55
【问题描述】:

我在 .htacces 文件中使用了下面的 RewriteRule 然后它作为 /page/NDT:REBGEARPOSGM-8630342 工作

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^page/([A-Za-z0-9\-:]+$)$ page.php?partid=$1
</IfModule>

但我想以 /page/NDT:REBGEARPOSGM-8630342.html 的身份工作。为此,我在 RewriteRule 下面使用了它,它给出了错误 404 。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^page/([A-Za-z0-9\-:]+$)\.html page.php?partid=$1
</IfModule>

请任何人协助我做错了什么或任何其他方式来做到这一点。提前致谢。

【问题讨论】:

    标签: .htaccess mod-rewrite url-rewriting seo


    【解决方案1】:

    您的正则表达式中有一个错误的 $ 锚。使用这条规则:

    <IfModule mod_rewrite.c>
    
        Options -MultiViews    
        RewriteEngine on
        RewriteRule ^page/([a-z0-9:-]+)\.html$ page.php?partid=$1 [L,QSA,NC]
    
    </IfModule>
    

    【讨论】:

    • 非常感谢 mych Anubhava。我为此浪费了 3 个小时,你节省了我的时间。
    • 现在我想要“NDT:REBGEARPOSGM-8630342.html”而不是“/page/NDT:REBGEARPOSGM-8630342.html”。我需要做什么改变。我根据我的知识尝试过,但没有运气。你能协助Anubhava吗?
    • 我尝试删除页面但不工作。 RewriteRule ^([a-z0-9:-]+)\.html$ page.php?partid=$1 [L,QSA,NC]
    • 其实RewriteRule ^([a-z0-9:-]+)\.html$ page.php?partid=$1 [L,QSA,NC] 是正确的并且为我工作。
    • 这里不允许使用 (:, -) 符号。没有这些,它就可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 2015-01-04
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 2019-05-29
    相关资源
    最近更新 更多