谁在我的网址末尾加了一个斜线?

sau*_*ger 4 apache mod-rewrite redirect user-agent

我正在使用mod_rewrite将/ products重写为/products.php.我在/.htaccess中有这段代码

Options FollowSymLinks
RewriteEngine on

RewriteRule ^([a-zA-z]+)$ /$1.php [PT,L]
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的服务器上还有一个文件夹/ products /.

我的问题是,当我尝试访问http://mydomain.com/products时,我的请求被重定向到http://mydomain.com/products/并显示错误,因为我没有该目录的索引.

谁在重定向我?Apache,我的UserAgent?如何在不更改文件夹名称或重写规则的情况下防止这种情况发生?

zaf*_*zaf 5

您需要查找"DirectorySlash指令".

DirectorySlash指令确定mod_dir是否应该修复指向目录的URL.

http://httpd.apache.org/docs/2.2/mod/mod_dir.html

您还可以尝试为重写规则添加可选的斜杠:

RewriteRule ^([a-zA-z]+)/?$ /$1.php [PT,L]
Run Code Online (Sandbox Code Playgroud)

拖尾斜线问题