【问题标题】:Url rewrite for a domain name为域名重写 URL
【发布时间】:2013-04-08 00:33:13
【问题描述】:

我需要它,所以当我转到 mydomainname.com/page/week1 时,它会显示 mydomainname.com/page.php?month=week1。我的代码会这样做吗?

rewriteengine on
rewritecond %{HTTP_HOST} ^www.mydomianname.com$ [OR]
rewritecond %{HTTP_HOST} ^mydomianname.com$
rewriterule ^mydomianname\.com/page/?([-A-Za-z0-9]+)/?$ "http\:\/\/mydomianname\.com\/page\.php?month=$1" [L]

当我转到 mydomainame.com/page/week1 时,我得到了

在此服务器上找不到请求的 URL /page/week1。

我当前的http访问

rewriteengine on
rewritecond %{HTTP_HOST} ^www.fetustobaby.com$ [OR]
rewritecond %{HTTP_HOST} ^fetustobaby.com$
rewriterule ^fetustobaby\.com\/page\/([-A-Za-z0-9]*)\/?$ page.php?month=$1 [L]

【问题讨论】:

    标签: apache .htaccess url-rewriting rewrite


    【解决方案1】:

    您的代码存在一些问题,例如 RewriteRule 仅匹配 URL,主机名匹配不是 RewriteRule 的一部分。这是您可以在 .htaccess 中使用的固定代码:

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{HTTP_HOST} ^(www\.)?mydomianname\.com$ [NC]
    RewriteRule ^page/([^/]+)/?$ /page.php?month=$1 [L,NC,QSA]
    

    【讨论】:

    • 我收到内部服务器错误
    • 立即尝试。抱歉,我在 QSA 之前输入了点而不是逗号 :(
    • 我得到 Not Found 在此服务器上找不到请求的 URL /page/month1。
    • 如果你在浏览器中输入这个 URL:/page.php?month=month1 它会显示正确的页面内容吗?
    • Nope 不显示正确的信息。我的网站是fetustobaby.com,你可以看到我们从网址中获取号码,就像fetustobaby.com/page.php?Month=1 一样,但它看起来很丑,对 seo 不是很好,所以想尝试让它更短更好......
    猜你喜欢
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-05-11
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    相关资源
    最近更新 更多