Как сделать внутренний редирект на oc 2, при включенном seo url, через .htaccess? Стандартными способами не получается. Хочу поудалять ненужные пункты, к примеру в аккаунте (бонусные баллы, файлы для скачивания, платежи и т.п.),, и заредиректить их на главную, так на всякий случай. Как это сделать?
можно в роботе закрыть и ссылки поубирать, и за них вобще никто не будет знать можно в пхп прямо в этих страницах редиректы сделать ну или средствами апача как на любом сайте Код: Redirect 301 /tovar/ http://site.ru/tovar1/ или Код: RewriteCond %{REQUEST_URI} ^/tovar/$ RewriteRule ^.*$ http://site.ru/new-tovar/? [R=301,L]
пробовал оба варианта, не работает.. по поводу робота, все что касается аккаунта вроде как и так, по-умолчанию там закрыто, тут скорее при ручном вводе в адресную строку, чтоб редирект срабатывал хочется.
Нельзя так делать! За директиву Redirect отвечает mod_alias в то время, как ОК уже использует для работы ЧПУ mod_rewrite. Их комбинация может приводить к непредсказуемым последствиям, поскольку они работают независимо друг от друга. Значит неправильно пробовали. Значение имеют не только сами директивы, но и их порядок в .htaccess. Покажите полное содержимое вашего .htaccess с этим редиректом. Уверен, вам нужен не он. "Внутренний редирект" означает, что заходя, например, на страницу бонусных баллов посетитель будет в адресной строке видеть ссылку на эту страницу, но контент с главной страницы. Вам нужен обычный редирект.
.htaccess юзаю родной, ocstore'вский, ничего в нем не менял просто переименовал. Правила пробовал прописывать и перед родными и после первой строчки, и вконце, одно и тоже. Максимум чего удалось достичь, мне хром выдавал, мол сайт выполнил слишком много редиректов.. Чистил куки и кеш браузера, Чистил кеш опенкарта, ничего не работает..
Вы всё-таки покажите, что именно вы делали. Если Хром ругался на циклические редиректы, значит ваши правки таки работают, просто правки неправильные.
пробовал уот так уот Redirect 301 /tovar/ http://site.ru/tovar1/ так уот Redirect 301 ^/tovar/$ http://site.ru/tovar1/ отак уот Redirect 301 ^/tovar/ http://site.ru/tovar1/ уууууутак уот Redirect 301 /tovar/$ http://site.ru/tovar1/ оуоуотак уот Redirect 301 /tovar/ / далее все тоже самое, но в другой позе: и уот так уот RedirectPermanent 301 /oldpage.php http://site/newpage.php и даже уот так уот (с лубрикантами, насколько я понимаю) RewriteCond %{REQUEST_URI} ^/test/$ RewriteRule ^.*$ http://site.ru/new-test/? [R=301,L] пробовал писать все это 1. В самом начале хтакцесса 2. После RewriteBase / 3. В самом конце хтакцесса сразу оговорюсь, бубен не доставал, но подумываю.. содержимое хутакцессй (родной ocstor'евский) Код: # 1.To use URL Alias you need to be running apache with mod_rewrite enabled. # 2. In your opencart directory rename htaccess.txt to .htaccess. # For any support issues please visit: http://www.opencart.com Options +FollowSymlinks # Prevent Directoy listing Options -Indexes # Prevent Direct Access to files <FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))"> Require all denied ## For apache 2.2 and older, replace "Require all denied" with these two lines : # Order deny,allow # Deny from all </FilesMatch> # SEO URL Settings RewriteEngine On # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ RewriteBase / RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L] RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L] RewriteRule ^system/download/(.*) index.php?route=error/not_found [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] ### Additional Settings that may need to be enabled for some servers ### Uncomment the commands by removing the # sign in front of it. ### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that. # 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it: # php_flag register_globals off # 2. If your cart has magic quotes enabled, This may work to disable it: # php_flag magic_quotes_gpc Off # 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try # php_value upload_max_filesize 999M # 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields # php_value post_max_size 999M # 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields # php_value max_execution_time 200 # 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields # php_value max_input_time 200 # 7. disable open_basedir limitations # php_admin_value open_basedir none ### Display PHP errors ### Uncomment the commands by removing the # sign in front of it. # php_flag display_startup_errors on # php_flag display_errors on # php_flag html_errors on # php_flag track_errors on # php_value error_reporting "E_ALL" ) Ну что, неужели никому не приходилось пользоваться редиректом?!
Почти все - это mod_alias, который нельзя использовать (о чём я уже писал выше). А единственный редирект из mod_rewrite - неправильный. Там же нужен самый простой из редиректов: Код: RewriteRule ^test$ /new-test [R=301,L]
Спасибо, наконец таки сработало! Тем, кто возможно, когда-нибудь будет это читать, прописывайте правила после "RewriteBase /", обращайте внимание, на указанное в seopro окончание, прописывать нужно вместе с окончанием например: RewriteRule ^from.html$ /to [R=301,L] Тему можно закрывать!)