开发者

Ignore trailing slash with Apache Rewrite

I'm using mod_rewrite to redirect like so:

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

开发者_运维技巧

This sends any URL ending in /work or /work/ to work.php

The problem is, when a trailing slash is included, it treats it as a directory, and not the file that it really is. This, of course, breaks all of my relative paths in the file.

I don't mind having a slash in the URL, but is there any way to use Apache to ignore the trailing slash, and treat the URL as a file, just as it would without the slash?


Since you don't want the URL to look like www.domain.com/work/ here's what you can do:

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

This will redirect /work/ to /work and /work/?page=main to /work?page=main

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜