【问题标题】:Rewriting URLs in htaccess在 htaccess 中重写 URL
【发布时间】:2010-10-07 20:28:33
【问题描述】:

我正在尝试重写一些 url。所有的 Url 看起来都是这样的

www.domain.com/index/c/index/ www.domain.com/index/c/about/ www.domain.com/index/c/store/

我希望这些网址如下所示:

www.domain.com www.domain.com/about www.domain.com/store

我在 htaccess 文件中尝试了几种不同的方法,但没有任何运气。

重写规则 ^([^/.]+)/?$ /index/c/$1 [L]

【问题讨论】:

  • 这是您的 htaccess 文件中的唯一行吗?

标签: apache .htaccess mod-rewrite


【解决方案1】:

好吧,我承认我在 htaccess 或 regex 方面都不是那么出色,但我正在努力学习更多,希望这会有所帮助:

您似乎正在尝试匹配 URL 后第一个斜杠后面的任何内容。

这个斜线实际上应该包含在你的重写基础中,所以你希望你的 htaccess 是:

RewriteEngine on
RewriteBase /

RewriteRule ^(.*)$ index/c/$1 [L]

如果您不想只匹配所有内容,可以尝试使用范围,例如

RewriteRule ^([A-Za-z])$ index/c/$1 [L] 我认为应该匹配所有字母。

另外,请注意 RewriteEngine on 和 RewriteBase / 是关键行!您需要它们才能使您的 htaccess 正常工作。 (虽然 RewriteBase 的 / 部分可以修改,但在您的情况下,您只想使用 '/')

【讨论】:

    猜你喜欢
    • 2020-05-24
    • 1970-01-01
    • 2015-05-21
    • 2013-08-01
    • 1970-01-01
    • 2013-01-23
    • 2011-08-30
    • 2011-03-19
    • 2022-01-18
    相关资源
    最近更新 更多