重定向非现有子文件夹,但如果URL包含关键字,则允许

时间:2013-09-05 11:00:09

标签: php apache .htaccess redirect mod-rewrite

我已经阅读了很多关于htaccess重定向的帖子,但没有一个真的符合我的情况,虽然很简单,让我把头发拉出来。

例如我有一个具有这种结构的网站:

 root
 -gallery.php

我已经实现了htaccess规则来隐藏.php扩展名。 如何捕获以下事件:

  1. mysite.com/nonexistingfolder将转到mysite.com/404.php
  2. mysite.com/gallery/nonexistingfolder仍会加载mysite.com/gallery,以便我可以在mysite.com/gallery.php中捕获/ _xx文件夹中的$ _GET?

2 个答案:

答案 0 :(得分:0)

RewriteRule

之后附加此内容
ErrorDocument 404 /error_docs/404

/error_docs/404替换为显示错误或执行某些操作的文件。

答案 1 :(得分:0)

对于常规404页面,请使用错误文档:

ErrorDocument 404 /404.php

这涵盖#1,不存在的文件夹将会到那里。

对于#2尝试:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^gallery/(\w+)$ /gallery.php?page=$1 [L]