首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用PHP使用htaccess的Vanity配置文件url

利用PHP使用htaccess的Vanity配置文件url
EN

Stack Overflow用户
提问于 2019-03-03 23:10:01
回答 1查看 56关注 0票数 0

我有.htaccess文件,profile.phpindex.phptest.php

假设我们有用户john

如果我去网站http://example.org/john,那么我可以看到john个人资料。但是,如果我要转到index.phptest.php,那么页面就会出现错误404,但不应该如此。似乎htaccess文件中的代码正在破坏每一页。

如何修复profile.php.htaccess文件以获得:

  1. 如果http://example.org/john不存在,则在同一页上显示404错误,如果存在,则显示此配置文件
  2. 如果其他页面存在,则应显示它们(如test.php)。

代码:

.htaccess

代码语言:javascript
复制
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
DirectorySlash Off


RewriteRule ^([A-Za-z0-9\._\-]+)[^.]$ profile.php?user=$1 [NC]


RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [NC,END]

profile.php

代码语言:javascript
复制
<?php
if ($_GET['user'] != '') {

    echo 'Showing user profile';

} else {

    echo '404 error';

}
EN

回答 1

Stack Overflow用户

发布于 2019-03-03 23:48:06

您不能从php执行返回到apache。

您应该交换RewriteRules,因此首先执行文件到php,然后执行配置文件。

在不需要额外重写的规则之后添加L。

查看http://php.net/manual/en/function.header.php以发送正确的404响应。设置404作为第三个参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54974744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档