微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在不发送404头的情况下redirect未find的URL?

我的网站需要一个.htaccess文件,当一个页面找不到时,会将用户redirect到index.PHP 。 不过,我不希望Apache发送一个404文件

我之前问过这个问题: Apache .htaccess 404错误redirect

命令"ErrorDocument /index.PHP"产生我想要的确切效果,除了它发送一个404页面页面。 我能做什么? 我应该用PHP覆盖404头吗?

Apache + Python Bottle:访客IP总是指127.0.0.1

Apache htaccess 301redirect

如何获得像www.example.com/username这样的url来redirect到www.example.com/user/profile.PHP?uid=10?

修改两个站点的htaccess文件

为什么我的子域名redirect到我的主域名?

在.htaccess上保持HTTP或HTTPS

重写仅显示没有图片和外部JavaScript的文本

.htaccess – 如何在某些页面上设置SSL(脚本需要修改

Cloudflare随机错误302redirect

是否可以阻止使用.htaccess文件的传出连接?

将此添加到您的.htaccess文件中:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.PHP [NC,L]

启用重写

检查请求的文件是否存在作为调整大小的文件(非空)

检查请求的文件是否链接

检查请求的文件是否是一个目录

如果前面的3个语句之一是真的显示文件

否则进入index.PHP

如果重定向到index.PHP,你可以通过在index.PHP使用$_SERVER["REQUEST_URI"]来获得请求的URI

'-d'(是目录)将TestString视为一个路径名,并测试它是否存在并且是一个目录。

'-f'(是常规文件)将TestString作为路径名处理,并测试它是否存在并且是一个常规文件

'-s'(是具有大小的常规文件)将TestString视为路径名,并测试它是否存在,并且是大于零的常规文件

'-l'(是符号链接)将TestString视为路径名,并测试它是否存在并且是符号链接

'-F'(通过子请求是存在的文件)检查TestString是否是有效的文件,并且可以通过该路径的所有服务器当前配置的访问控制访问。 这使用内部子请求来确定检查,因此小心使用它,因为它会降低您的服务器性能

'-U'(通过子请求是现有的URL)检查TestString是否是有效的URL,并且可以通过该路径的所有服务器当前配置的访问控制访问。 这使用内部子请求来确定检查,因此小心使用它,因为它会降低您的服务器的性能

更多信息: http : //httpd.apache.org/docs/current/mod/mod_rewrite.html

编辑:也请注意这个帖子: https : //stackoverflow.com/questions/486505/mod-rewrite-with-godaddy

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐