htaccess我怎么能忽略一个目录并转到一个同名的文件


htaccess how can i ignore a directory and foward to a file with same name

我正在开发一个社交网络应用程序,该应用程序允许用户创建自定义名称。我创建了一个名为"images"的虚拟测试帐户,因此我的URL地址将为www.example.com/images。我遇到的问题是,当我搜索用户www.example.com/images时,我会被转发到名为"images/"的目录,而不是www.example.com/images/……我如何忽略该目录,转而转发到虚荣的URL页面?

感谢您提前提供的帮助。

这是我目前使用的htaccess代码

Options +FollowSymLinks 
RewriteEngine On 
#hide htaccess file from view
<Files .htaccess>
order allow,deny
deny from all
</Files>
#disable directory listing
Options -Indexes
#Vanity URL
RewriteRule ^([a-zA-Z0-9_]+)$ profile.php?u=$1
#Force WWW
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www'. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#errorRedirect
ErrorDocument 400 http://www.example.com/errors/badrequest.php
ErrorDocument 403 http://www.example.com/errors/forbid.php
ErrorDocument 404 http://www.example.com/errors/notfound.php
ErrorDocument 500 http://www.example.com/errors/server.php

之所以会发生这种情况,是因为mod_dir添加了一个尾部斜杠并进行了重定向。你可以使用这个代码:

#errorRedirect
ErrorDocument 400 http://www.example.com/errors/badrequest.php
ErrorDocument 403 http://www.example.com/errors/forbid.php
ErrorDocument 404 http://www.example.com/errors/notfound.php
ErrorDocument 500 http://www.example.com/errors/server.php
# turn directory slash off
DirectorySlash Off
#disable directory listing
Options +FollowSymLinks -Indexes
RewriteEngine On 
#hide htaccess file from view
<Files .htaccess>
order allow,deny
deny from all
</Files>
#Force WWW
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www'. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#Vanity URL
RewriteRule ^('w+)/?$ profile.php?u=$1 [L,QSA]