В моем файле .htaccess
есть следующие правила перезаписи:
RewriteEngine on
RewriteRule ^news/([0-9]+)/?$ /?action=news&start=$1 [L]
RewriteRule ^man/([a-zA-Z0-9_]+)/?$ /?action=man&page=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+)/?$ /?action=$1 [L]
Все затем заканчиваются /?
, чтобы проверить наличие дополнительной косой черты. Это работает - это значит, что я могу использовать либо http://www.site.com/news/
, либо http://www.site.com/news
, чтобы перейти на страницу news
, что я и хочу. Проблема в том, что, хотя http://www.site.com/news/
работает нормально и тихо перенаправляет и все эти забавные вещи, http://www.site.com/news
по некоторым причинам явно перенаправляется на http://www.site.com/news/?action=news
Они оба придумали один и тот же сайт, но по какой-то причине, если я опущу косую черту, URL-адрес изменится и будет выглядеть ужасно.
Есть идеи, что с этим происходит? У меня нет других правил в моем файле .hyaccess
. Я также укажу, что http://www.site.com/news/0
и http://www.site.com/news/0/
не страдают от одной и той же проблемы. Они оба незаметно перенаправляют на http://www.site.com/?action=news&start=0
, что я и хочу. Это только кажется проблемой с этим третьим правилом.
Если это поможет, сайт находится на SourceForge.net.