【问题标题】:rewrite dynamic url重写动态url
【发布时间】:2012-05-20 16:15:29
【问题描述】:

我有以下问题:

http://www.mydomain.com/articles.php?artid=89

应该变成:http://www.mydomain.com/mykeyword

我不介意 id 是否保留在 url 中...比如:http://www.mydomain.com/89/mykeyword

我目前有以下 .htaccess:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(mydomain\.com)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+news\.php [NC]
RewriteRule ^ mykeyword [R=301,L]

RewriteRule ^mykeyword/?$ news.php [L,NC]

上面的部分就像一个魅力。

任何帮助将不胜感激。

问候,卓然

【问题讨论】:

    标签: .htaccess


    【解决方案1】:

    将这些规则附加到 .htaccess 的底部:

    RewriteEngine On
    RewriteBase /turkexpo/
    
    RewriteCond %{HTTP_HOST} ^(webone\.gr)$ [NC]
    RewriteRule ^(.*)$ http://www.%1/turkexpo/$1 [R=302,L] 
    
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+turkexpo/news\.php [NC]
    RewriteRule ^ mykeyword [R=302,L]
    
    RewriteRule ^mykeyword/?$ news.php [L,NC]
    
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+turkexpo/articles\.php\?artid=([0-9]+) [NC]
    RewriteRule ^ %1/mykeyword? [R=302,L]
    
    RewriteRule ^([0-9]+)/mykeyword/?$ articles.php?artid=$1 [L,NC,QSA]
    
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+turkexpo/companies\.php\?fairid=([0-9]+)&ehallid=([0-9]+) [NC]
    RewriteRule ^ companies/%1/%2? [R=302,L]
    
    RewriteRule ^companies/([0-9]+)/([0-9]+)/?$  companies.php?fairid=$1&ehallid=$2 [L,NC,QSA]
    

    这会将/89/mykeyword 的URI 转发到/articles.php?artid=89 并在外部重定向它的反面。

    一旦您确定它工作正常,请将 R=302 更改为 R=301

    【讨论】:

    • Temporaray,此站点位于:www.mydomain.com/somefolder 由于规则 RewriteCond %{HTTP_HOST} ^(mydomain\.com)$ [NC] RewriteRule ^(.*)$ @ 987654321@ [R=301,L] 我看不到变化。我应该如何修改这两个规则以便我可以看到实际的变化?
    • 我认为 RewriteCond %{HTTP_HOST} ^(mydomain\.com)$ [NC] 应该类似于 RewriteCond %{HTTP_HOST} ^(mydomain\.com\somefolder)$ [NC] 我试试看还是不行
    • 我们有没有机会在 Skype 上见面,这样您就可以轻松看到我的问题?还是违反现场规定?
    • this site is placed under www.mydomain.com/somefolder 不确定我是否理解这个声明。您网站的 DOCUMENT_ROOT 是什么?您在这里处理多个站点吗?我可以通过 .htaccess 帮助您,但我并不完全了解您的设置。本站支持聊天室功能,我可以花几分钟了解一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2015-05-07
    • 2011-06-02
    • 2021-11-06
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多