gpt4 book ai didi

.htaccess - 如何在 .htaccess 中创建虚拟文件夹

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:42:09 26 4
gpt4 key购买 nike

我得到了像 mysite.com/username 这样的用户名的代码

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ profile.php?user=$1
  • 我的用户可以提交帖子。我的帖子文件是 topic.php,它也在根目录中。如果我重写 topic.php,代码会认为它是一个用户名。我需要一个像 mysite.com/watch/topic.php 这样的文件夹,但我想让它看起来像文件夹不存在(实际上),但我可以通过该 URL 访问主题。

抱歉我的英语不好。谢谢。

最佳答案

试试这个:

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^watch/(.+)/?$ $1 [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ profile.php?user=$1

它会将对“虚拟目录”(watch)中文件的所有请求重写为根文件夹中的文件。规则后面的“L”确保它将是请求的最后一次重写。

如果请求的页面不在'虚拟目录'中,它将假设用户正在请求用户配置文件,因此它将请求重写为您指定的用户配置文件

旁注:我认为您应该将配置文件请求更改为类似

RewriteRule ^user/([a-z0-9-_]+)/?$ profile.php?user=$1 [NC,L]

也许现在您认为这不是必需的,但将来当您尝试实现更多重写时,这使您能够区分用户实际请求的内容。

关于.htaccess - 如何在 .htaccess 中创建虚拟文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6743727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com