2012-04-07 2 views

ответ

0

Прежде всего, я не понимаю цели переписывания http://info.domainname.com/blog/?Tag=somedynamictag в http://domainname.com/tag/somedynamictag, когда это должно было быть наоборот. Люди переписывают URL-адреса для их очистки (например, удаляют символы, такие как ?, &, = и т. Д.), Но вы добавляете все это и делаете URL-страницы громоздкими.

Я думаю, что вы неправильно поняли концепцию перезаписи URL-адресов. Позвольте мне немного объяснить.

Когда на вашем веб-сайте доступен любой URL-адрес, URL-адрес, который типы или клики USER (в вашем случае http://domainname.com/tag/somedynamictag) переписан. Но ваш вопрос подсказывает мне, что вы думаете по-другому. Вы понимаете, что посетитель нажимает http://info.domainname.com/blog/?Tag=somedynamictag и будет переписан на http://domainname.com/tag/somedynamictag. ЭТО НЕПРАВИЛЬНО !!. Если вы настроили свой сайт таким образом, каждый URL-адрес в http://domain.com/ должен существовать как отдельный файл или каталог, который, как ожидается, не будет иметь динамический веб-сайт, похожий на вас. Поэтому я предполагаю, что вы поняли, что вы либо неправильно определили вопрос, либо вы неправильно поняли концепцию перезаписи URL. Ниже приведен код .htaccess для перенаправления http://domainname.com/tag/somedynamictag на http://info.domainname.com/blog/?Tag=somedynamictag.

RewriteEngine On 

RewriteCond %{HTTP_HOST} domainname.com 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([A-Za-z0-9]+)\/(.*)$ http://info.domainname.com/blog/?$1=$2 [L,R=301] 

Если вы думаете, что вы правильно ввели вопрос и понял URL переписывания правильно и уверены, что вы пытаетесь сделать, это правильно, то вот код Htaccess (если вы хотите перенаправить http://info.domainname.com/blog/?Tag=somedynamictag к http://domainname.com/tag/somedynamictag).

RewriteEngine On 

RewriteCond %{HTTP_HOST} info.domainname.com 
RewriteRule ^blog\/\?([A-Za-z0-9]+)=(.*)$ http://domainname.com/$1/$2 [L,R=301] 

Если это не работает, в index.php в http://info.domainname.com/blog/, поместите следующий код:

<?php 
header("HTTP/1.1 301 moved permanently"); 
header("Location:http://domainname.com/blog/tag/".$_GET['Tag']); 
?> 

И спасибо за этот вопрос. Отвечая на это, я многое узнал.

Надежда, которая отвечает на ваш вопрос,

мира ...

+0

Большое спасибо за вашу помощь. После добавления кода я получаю внутреннюю ошибку сервера. .htaccess файл, как показано ниже # НАЧАТЬ WordPress RewriteEngine На RewriteBase/ RewriteRule^индекс \ .php $ - [L] RewriteCond% {REQUEST_FILENAME} -f RewriteCond% {REQUEST_FILENAME}! -d RewriteRule. /index.php [L] RewriteCond% {HTTP_HOST} info.domainname.com RewriteRule^blog \/\? ([A-Za-z0-9] +) \ = (. *) $ http://доменное имя.com/$ 1/$ 2 [L, R = 301] # END WordPress Спасибо! – Hussain

+0

Я обновлю несколько минут. –

+0

Вы включили mod_rewrite? –

Смежные вопросы