У меня ситуация с перенаправлением, где сайт является частью динамического и частично сгенерированным .html-файлами.mod_rewrite продолжает добавлять .html для файлов
Например, mysite.com/homepage и mysite.com/products/42 фактически статические HTML файлы
В то время как другие URL-адреса генерируются динамически, как mysite.com/cart
Оба mysite.com и www.mysite.com указывают на одно и то же место. Однако я хочу перенаправить весь трафик с сайта mysite.com на www.mysite.com.
Я так близко, но я столкнулся с проблемой, когда Apache добавляет .html в конец моих URL-адресов для чего-либо, где существует статический .html-файл, чего я не хочу.
Я хочу, чтобы перенаправить это:
http://mysite.com/products/42
Для этого:
http://www.mysite.com/products/42
Но Apache делает его об этом, вместо этого (потому что 42.html является актуальной HTML-файл):
http://www.mysite.com/products/42.html
Я не хочу этого - я хочу, чтобы он перенаправлялся на www.mysite.com/products/42
Вот что я начал с:
RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L]
Я попытался сделать параметры и .html необязательными, но .html все еще получает добавлен редиректа:
RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
RewriteRule ^(.*)?(\.html)?$ http://www.mysite.com/$1 [R=301,L]
Что я делаю неправильно? Действительно ценим это :)
@WayneArthurton: Если вы можете, пожалуйста, объясните, что не работает с моим ответом, то я могу быть в лучшем положении, чтобы помочь вам в дальнейшем. – anubhava