Назад | Перейти на главную страницу

301 Redirect, необходимо сбросить имя файла

У меня работает много перенаправлений, но у меня есть один, который нужно перенаправить и удалить имя файла.

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

Когда я реализую это, он пытается перенаправить, но не удаляет default.aspx из URL-адреса.

редактировать
Правила перезаписи:

 ## 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>

Документация для Redirect Говорит, что

Дополнительная информация о пути помимо совпадающего URL-пути будет добавлена ​​к целевому URL-адресу.

Так что ваши Redirect строка добавляет ненужное имя файла.

Попробуйте вместо этого:

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