Как htaccess перенаправить URL-адреса в .html - PullRequest
0 голосов
/ 03 апреля 2012

Я пытался найти код для 301 перенаправления страниц, как это в файле htaccess:

www.example.com / просмотр профили

К

www.example.com / вид-profiles.html

Но мне нужно убедиться, что оно не конфликтует с правилом перенаправления /index.html, которое у меня там есть, а также может применяться как правило ко многим URL-адресам одновременно.

Заранее спасибо за помощь !!

Ответы [ 3 ]

0 голосов
/ 03 апреля 2012

Если вы хотите, чтобы все файлы с расширением .html были целью такого перенаправления, вы должны использовать mod_rewrite

Это не проверено!
Для тестирования я рекомендую сначала заменить 301 на 302, потому что ваш браузер может запомнить настройку 301 и не получит доступ к перезаписанному серверу.

В вашем .htaccess вам нужно что-то вроде этого

<IfModule mod_rewrite.c>
  RewriteEngine on

  # If in subdirectory uncomment the following and 
  #   replace subdir with your subdirectory
  #Rewritebase /subdir

  # This will rewrite if request_filename is not a directory (!-d)
  RewriteCond %{REQUEST_FILENAME} !-d

  # RewriteCond is with AND per default
  # Only if request + .html extension is a file (-f)
  RewriteCond %{REQUEST_FILENAME}.html -f

  # If both above conditions are true this rule is followed
  # ^(.*)$: Regular Expression Match everything `.*` in the request 
  #   from start `^` to the end `$` 
  # Brackets mean: capture the text if matched
  # $1.html Append .html to the captured text from the Rule
  # [L,R=301]: L=Last don't try to rewrite any other rule that comes below
  #            R=301 Redirect and set the HTTP Status code to 301
  RewriteRule    ^(.*)$     $1.html     [L,R=301]

</IfModule>

Снова!Это не проверено!

0 голосов
/ 03 апреля 2012

Если вам нужно только правило для URI / view-profile`, тогда оно будет работать:

RewriteRule ^view-profiles/?$ view-profiles.html [L,NC,R=301]
0 голосов
/ 03 апреля 2012

Вы пробовали это?

redirect 301 /view-profiles http://www.example.com/view-profiles.html
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...