почему в конце моего URL есть дополнительный маршрут - PullRequest
0 голосов
/ 16 августа 2011

Хорошо, мне нужно сделать редирект, и редирект хорош, но я получаю дополнительные данные в конце URL

вот мой редирект

redirect 301 /cash_registers/index.html http://posnation.com/cash_registers

вот мой весь htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1 [L]

# # Remove the trailing slash
# RewriteCond %{HTTP_HOST} ^(www.)?posnation\.com$ [NC]
# RewriteRule ^(.+)/$ http://www.posnation.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^(www.)?posnation\.com$ [NC]
# Only apply to URLs that aren't already under folder1.
RewriteCond %{REQUEST_URI} !^/our_customers/
# Don't apply to URLs that go to existing files or folders.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all those to insert /folder1.
RewriteRule ^(.*)$ /our_customers/$1

redirect 301 /cash_registers/index.html http://posnation.com/cash_registers

когда я иду по URL http://posnation.com/cash_registers/index.html я получаю все виды мусора в конце URL ... есть ли способ исправить это

этомусор в конце URL

cash_registers?route=cash_registers/index.html

Ответы [ 2 ]

2 голосов
/ 16 августа 2011

Вам нужно настроить таргетинг на ссылки, которые вы хотите переписать, например, так:

2 голосов
/ 16 августа 2011

человек, это не ошибка, это особенность.эта строка:

RewriteRule ^(.*)$ index.php?route=$1 [L]

фактически добавляет этот «мусор» в конец URL.если вы хотите избавиться от этого - не иметь в виду строку запроса - замените эту строку следующим:

RewriteRule ^(.*)$ index.php? [L]

Я не уверен, хотя этого не было намеренно, так что это может нарушить некоторые другие функции вваш сайт.

...