如何在.htaccess中创建虚拟文件夹
我得到了像mysite.com/username这样的用户名的代码如何在.htaccess中创建虚拟文件夹,.htaccess,url,seo,.htaccess,Url,Seo,我得到了像mysite.com/username这样的用户名的代码 Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ profile.php?user=$1 我的用户可以提交帖子。我的帖子文件是topic.php,它也在根目录中。如果我重写topic.php,代码会认为它是一
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]
也许现在您认为这不是必需的,但将来当您尝试实施更多重写时,这使您能够区分用户实际请求的内容。您肯定需要有人帮助您制定问题——我不清楚您想要做什么。