使用Apache Rewrite忽略尾部斜杠

cma*_*mal 7 apache mod-rewrite clean-urls

我正在使用mod_rewrite进行重定向:

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

这将在结尾的任何URL /work/work/work.php

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

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

Boo*_*eus 11

由于您不希望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]
Run Code Online (Sandbox Code Playgroud)

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