Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: 301's redirection .htaccess - problem...
Forum PHP.pl > Forum > PHP
daniofantasy
Mam taki problem - probuje zrobic przekierowanie 301 poprzez .htaccess

generalnie to, co chce osiagnac, to to aby z takiego adresu:

/brands/brocade/

przekierowalo mnie do:

/catalogue/browse/brands/brocade

probuje to zrobic tym oto kodem:

RedirectMatch 301 /brands/brocade/ /catalogue/browse/brands/brocade

ale on nie dziala do konca tak jak bym chcial, bo w efekcie zamiast przekierowania do:

/catalogue/browse/brands/brocade

mam taki efekt:

/catalogue/browse/brands/brocade/?q=brands/brocade

strona stoi na drupalu,

moj obecny plik htaccess:

  1. #
  2. # Apache/PHP/Drupal settings:
  3. #
  4.  
  5. # Protect files and directories from prying eyes.
  6. <FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl|svn-base)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$">
  7. Order allow,deny
  8. </FilesMatch>
  9.  
  10. # Don't show directory listings for URLs which map to a directory.
  11. Options -Indexes
  12.  
  13. # Follow symbolic links in this directory.
  14. Options +FollowSymLinks
  15.  
  16. # Make Drupal handle any 404 errors.
  17. ErrorDocument 404 /index.php
  18.  
  19. # Force simple error message for requests for non-existent favicon.ico.
  20. <Files favicon.ico>
  21. # There is no end quote below, for compatibility with Apache 1.3.
  22. ErrorDocument 404 "The requested file favicon.ico was not found.
  23. </Files>
  24.  
  25. # Set the default handler.
  26. DirectoryIndex index.php
  27.  
  28. # Override PHP settings. More in sites/default/settings.php
  29. # but the following cannot be changed at runtime.
  30.  
  31. # PHP 4, Apache 1.
  32. <IfModule mod_php4.c>
  33. php_value magic_quotes_gpc 0
  34. php_value register_globals 0
  35. php_value session.auto_start 0
  36. php_value mbstring.http_input pass
  37. php_value mbstring.http_output pass
  38. php_value mbstring.encoding_translation 0
  39. </IfModule>
  40.  
  41. # PHP 4, Apache 2.
  42. <IfModule sapi_apache2.c>
  43. php_value magic_quotes_gpc 0
  44. php_value register_globals 0
  45. php_value session.auto_start 0
  46. php_value mbstring.http_input pass
  47. php_value mbstring.http_output pass
  48. php_value mbstring.encoding_translation 0
  49. </IfModule>
  50.  
  51. # PHP 5, Apache 1 and 2.
  52. <IfModule mod_php5.c>
  53. php_value magic_quotes_gpc 0
  54. php_value register_globals 0
  55. php_value session.auto_start 0
  56. php_value mbstring.http_input pass
  57. php_value mbstring.http_output pass
  58. php_value mbstring.encoding_translation 0
  59. </IfModule>
  60.  
  61. # Requires mod_expires to be enabled.
  62. <IfModule mod_expires.c>
  63. # Enable expirations.
  64. ExpiresActive On
  65.  
  66. # Cache all files for 2 weeks after access (A).
  67. ExpiresDefault A1209600
  68.  
  69. <FilesMatch \.php$>
  70. # Do not allow PHP scripts to be cached unless they explicitly send cache
  71. # headers themselves. Otherwise all scripts would have to overwrite the
  72. # headers set by mod_expires if they want another caching behavior. This may
  73. # fail if an error occurs early in the bootstrap process, and it may cause
  74. # problems if a non-Drupal PHP file is installed in a subdirectory.
  75. ExpiresActive Off
  76. </FilesMatch>
  77. </IfModule>
  78.  
  79. # Various rewrite rules.
  80.  
  81. RewriteEngine on
  82.  
  83. # If your site can be accessed both with and without the 'www.' prefix, you
  84. # can use one of the following settings to redirect users to your preferred
  85. # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
  86. #
  87. # To redirect all users to access the site WITH the 'www.' prefix,
  88. # (http://example.com/... will be redirected to http://www.example.com/...)
  89. # adapt and uncomment the following:
  90. # RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
  91. # RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
  92. #
  93. # To redirect all users to access the site WITHOUT the 'www.' prefix,
  94. # (http://www.example.com/... will be redirected to http://example.com/...)
  95. # uncomment and adapt the following:
  96. # RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
  97. # RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
  98.  
  99. # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
  100. # VirtualDocumentRoot and the rewrite rules are not working properly.
  101. # For example if your site is at http://example.com/drupal uncomment and
  102. # modify the following line:
  103. # RewriteBase /drupal
  104. #
  105. # If your site is running in a VirtualDocumentRoot at http://example.com/,
  106. # uncomment the following line:
  107. # RewriteBase /
  108.  
  109. # Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
  110. RewriteCond %{REQUEST_FILENAME} !-f
  111. RewriteCond %{REQUEST_FILENAME} !-d
  112. RewriteCond %{REQUEST_URI} !=/favicon.ico
  113.  
  114. RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
  115.  
  116. RedirectMatch 301 /brands/brocade/ /catalogue/browse/brands/brocade
  117. # $Id$
  118.  


wszelkie pomysly/wskazowki mile widziane smile.gif

UPDATE:

po dluzszym googlaniu znalazlem takie oto rozwiazanie:

  1. RedirectMatch 301 /catalogue/dell ADRES_HTTP_WWW.MOJEJ_STRONY/catalogue/browse/brands/dell?


- pytajnik na koncu jest po to, zeby nie doklejalo mi query stringu na koncu przekierowania

i dziala fajnie - bo przekierowuje dokladnie tak jak chcialem - jedyny klops, ktorego mam, to to ze po przekierowaniu mam w adresie pytajnik - czyli:

  1.  
  2. ADRES_HTTP_WWW.MOJEJ_STRONY//catalogue/browse/brands/cisco?
  3.  


jakiekolwiek pomysly jak wywalic ten pytajnik z konca adresu?
kuba_pilach
Kod
RedirectMatch 301 ../brands/brocade/ ../catalogue/browse/brands/brocade


A takie coś by nie poszło? A spróbuj usunąć znak zapytania, z tego twojego.

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.