【问题标题】:Apache Rewrite Rule, With or Without SlashApache 重写规则,带或不带斜线
【发布时间】:2013-03-29 01:33:33
【问题描述】:

如何让 Apache 重写所有 URL,例如:

mydomain.com/index.php?name=about-me

与任何一个合作

mydomain.com/about-me

mydomain.com/about-me/

如果 URL 是 mydomain.com/about-me,则应该加载 mydomain.com/index.php?name=about-me。

另外,如果 URL 是 mydomain.com/about-me/,mydomain.com/index.php?name=about-me 也应该加载。

【问题讨论】:

    标签: apache rewrite rule


    【解决方案1】:

    在您的 .htaccess 文件中使用 mod_rewrite 包含此规则以将 name=whatever 重写为whatever/

    RewriteRule ^([a-z-]+)/?$     index.php?name=$1  [NC,L]
    

    【讨论】:

    • 试过了,不行。此外,该规则不应将我的 URL 限制为仅限字母字符。
    • 此规则只接受字母加 - 字符。检查 apache 的 mod_rewrite 是否正常工作
    • 您应该启用 mod_rewrite RewriteEngine On 并设置您的网络服务器 RewriteBase / 的基本 url。查看 mod_rewrite 教程。
    • 它不起作用。是的,我之前使用过 .htaccess 并启用了 mod_rewrite 和 RewriteEngine。 mydomain.com/index.html?name=whatever 应该像 mydomain.com/whatever 一样工作。
    • 对不起,我误解了这个问题,规则应该颠倒过来。编辑答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 2011-04-20
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多