【问题标题】:PHP mod rewrite redirection going the wrong wayPHP mod重写重定向错误的方式
【发布时间】:2012-09-25 15:06:30
【问题描述】:

我正在尝试获得一个我正在制作的 php 网站,以拥有类似的 seo 友好 url,就像 wordpress 网站有时所做的那样。例如,我希望 mysite.com/page.php?section=great 显示为 mysite.com/great。

我一直在研究其他教程,这个网站试图让它工作,似乎我只能让它向后工作。也就是说,我输入 mysite.com/great,用户会看到 mysite.com/page.php?section=great,但反之则不行。

这是我的 .htaccess 文件中的代码...

RewriteEngine on
RewriteRule /([^/]*)$ http://www.mysite.com.au/really/long/url/page.php?section=$1 [R]

我已尝试反转上述代码,因此 /$ 部分位于实际完整 url 的右侧,但不确定这是否真的正确。以前从未使用过 mod rewrite 并发现这非常令人沮丧。任何帮助将不胜感激。

【问题讨论】:

  • 任何不存在的资源都应该重定向到page.php是真的吗?

标签: php apache mod-rewrite url-rewriting


【解决方案1】:

你需要这样的东西。

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /really/long/url/page.php\?section=([^&\ ]+)
RewriteRule ^ /%1? [L,R=301]

它必须与实际请求而不是 URI 匹配,因为 URI 被您拥有的其他规则破坏了。

【讨论】:

    猜你喜欢
    • 2012-08-24
    • 1970-01-01
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多