首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中带有.htaccess的vanity

在php中带有.htaccess的vanity
EN

Stack Overflow用户
提问于 2016-03-21 10:58:42
回答 2查看 626关注 0票数 0

我试图创建一个虚荣心url,以便用户配置文件可以很容易地被其他人查看。

代码语言:javascript
复制
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule .* - [L]

RewriteRule ^(.*)$ http://localhost/test/public/profile.php?username=$1 [NC]

这是代码,但是每次在我的.htaccess文件中使用这段代码时,我都会得到500个内部服务器错误,并且子文件夹公用程序会从我的目录中消失。我做错什么了?我需要先做任何配置吗?

EN

回答 2

Stack Overflow用户

发布于 2016-03-21 11:17:29

最好使用全局重写逻辑:

代码语言:javascript
复制
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

在您的$_SERVER'REQUEST_URI'中,捕获index.php,如果存在用户,则响应,如果没有,则将处理传递给下一个过程。

但是,如果你坚持实现是有问题的,那么就试试下面这个:

代码语言:javascript
复制
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ profile.php?username=$1 [L,QSA]
票数 1
EN

Stack Overflow用户

发布于 2016-03-21 11:12:24

检查一下这个:

代码语言:javascript
复制
    Options +FollowSymLinks
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^profile/([a-zA-Z0-9_\-/]+)$ test/public/profile.php?username=$1 [L,NC]
    </IfModule>

不过,请注意:

  1. 您必须启用重写引擎才能使其工作(在安装过程中使用谷歌一点,用于操作系统/系统)
  2. 如果从子目录使用正确的RewriteBase指令。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36129214

复制
相关文章

相似问题

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