301 重定向,需要删除文件名

301 重定向,需要删除文件名

我有许多重定向工作,但有一个需要重定向并删除文件名。

redirect 301 /path/to/file/default.aspx http://www.domain.com/newpath/to/page/

当我实现这一点时,它会尝试重定向,但不会从 URL 中删除 default.aspx。

编辑
重写规则:

 ## path relative to web root
 RewriteBase /

 ## workaround for HTTP authorization
 ## in CGI environment
 RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

 ## always send 404 on missing files in these folders
 RewriteCond %{REQUEST_URI} !^/(media|skin|js)/

 ## never rewrite for existing files, directories and links
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-l

 ## rewrite everything else to index.php
 RewriteRule .* index.php [L]

编辑2
唯一的其他指令是在 vhost 配置中,但那里没有很多:

<VirtualHost 192.168.100.216:80>
ServerName web01.domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/domain.com/htdocs
SetEnvIf X_FORWARDED_PROTO https HTTPS=on
RewriteEngine on
<Directory /var/www/domain.com>
AllowOverride All
</Directory>
</VirtualHost>

答案1

文档Redirect

匹配的 URL 路径之外的附加路径信息将附加到目标 URL。

因此您的Redirect行附加了不需要的文件名。

尝试一下这个:

RewriteCond %{REQUEST_URI} ^/path/to/file/default.aspx$
重写规则 .* http://www.domain.com/newpath/to/page/

相关内容