【问题标题】:Ignore trailing slash with Apache Rewrite使用 Apache Rewrite 忽略斜杠
【发布时间】:2011-11-29 03:18:50
【问题描述】:

我正在使用 mod_rewrite 像这样重定向:

RewriteRule (work)/?$ $1.php [L]

这会将任何以/work/work/ 结尾的URL 发送到work.php

问题是,当包含尾部斜杠时,它会将其视为目录,而不是实际的文件。当然,这会破坏我在文件中的所有相对路径。

我不介意 URL 中有斜杠,但是有没有办法使用 Apache 来忽略尾部斜杠,并将 URL 视为文件,就像没有斜线?

【问题讨论】:

  • 你有“工作”目录吗?
  • .htaccess 或 vhost 中还有其他内容吗?

标签: apache mod-rewrite clean-urls


【解决方案1】:

由于您不希望 URL 看起来像 www.domain.com/work/,您可以这样做:

  RewriteEngine On
  RewriteRule ^work/$ http://www.domain.com/work%{REQUEST_URI} [R=301,L,NC]
  RewriteRule (work)$ $1.php [L,QSA,NC]

这会将/work/ 重定向到/work/work/?page=main/work?page=main

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    • 1970-01-01
    相关资源
    最近更新 更多