【问题标题】:How can I change htaccess file for more patterns redirection?如何更改 htaccess 文件以进行更多模式重定向?
【发布时间】:2014-11-17 15:53:16
【问题描述】:

我有以下情况。我有一个网站,它是一本字典,我能够为友好的 URL 创建一个重定向规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/(.*) /definitie.php?forma=$1&cuvant=$2

这真的很好用。所以 httpmywebsitedotcom/definitie.php?forma=form&cuvant=word 会自动重定向到 httpmywebsitedotcom/form/word

现在,该网站还具有不同的功能:显示名词的偏角。为此,我创建了另一个仅获取一个参数的 php 文件。长网址是:

httpmywebsitedotcom/declinare.php?cuvant=word。我要转换的这个:httpmywebsitedotcom/declinare/word

知道怎么做吗? 我从互联网上尝试了很多东西,但都没有奏效。我尝试的最后一个是:

RewriteRule ^declinare/([a-zA-Z0-9]+) /declinare.php?cuvant=$1

非常感谢您的建议。

【问题讨论】:

    标签: apache .htaccess mod-rewrite redirect friendly-url


    【解决方案1】:

    在根 .htaccess 中保留这样的规则:

    Options -MultiViews
    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^declinare/([\w-]+)/? declinare.php?cuvant=$1 [L,NC,QSA]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]+)/([^/]*)/?$ definitie.php?forma=$1&cuvant=$2 [L,QSA]
    

    【讨论】:

    • 现在我有一个不同的。如果我在网站上有其他选择,那也可以解决问题。所以,除了declinare.php,我还有一个conjugare.php。我应该把一行接一行吗?重写规则 ^declinare/([\w-]+)/? declinare.php?cuvant=$1 [L,NC,QSA] RewriteRule ^conjugare/([\w-]+)/? conjugare.php?cuvant=$1 [L,NC,QSA]
    • 你可以在declinare.php规则后面输入这条新规则。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 2012-04-27
    • 2015-11-15
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    相关资源
    最近更新 更多