2015-03-09 2 views
0

Ниже перечислены вещи, мне нужно, чтобы преобразовать с помощью .htaccessURL Перенаправление вопрос с помощью .htaccess

  1. Если URL является sample.xxx.com означает, что мне нужно, чтобы преобразовать его в www.xxx.com/domain/ образец

  2. I Ссылка sample.xxx.com/category/34/electonics.html означает, что мне нужно, чтобы преобразовать его в www.xxx.com/domain/sample/category/34/electronics.html

3.После преобразования этих вещей мне снова нужно построить запрос на необходимые страницы

У меня есть следующее правило

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com$ [NC] 
RewriteCond %1 !^(www|ftp|mail)$ [NC] 
RewriteRule ^(.*)$ http://www.example.com/domain/%1/$1 [P,QSA] 

RewriteRule ^domain/([a-zA-Z0-9_\-]+)$ index.php?domain=$1 [Nc,L] 
RewriteRule ^domain/([a-zA-Z0-9_\-]+)/$ index.php?domain=$1 [Nc,L] 
RewriteRule ^domain/([a-zA-Z0-9_\-]+)/news/([a-zA-Z0-9_\-]+)/([0-9]+)_([0-9]+)/([a-zA-Z0-9_\-]+)\.html$ news.php?domain=$1&category=$4&news=$3 [Nc,L] 
RewriteRule ^domain/([a-zA-Z0-9_\-]+)/category/([0-9]+)/([a-zA-Z0-9_\-]+)\.html$ category.php?domain=$1&category=$2 [Nc,L] 
RewriteRule ^domain/([a-zA-Z0-9_\-]+)/gallery/([0-9]+)/([a-zA-Z0-9_\-]+)\.html$ gallery.php?domain=$1&category=$2 [Nc,L] 
RewriteRule ^domain/([a-zA-Z0-9_\-]+)/video/([0-9]+)/([a-zA-Z0-9_\-]+)\.html$ video.php?domain=$1&category=$2 [Nc,L] 

Но он не

Если я изменить линию 4 до

RewriteRule ^(.*)$ http://www.example.com/domain/%1/$1 [NC,QSA] 

означает, что он будет работать но браузер показывает восстановленный URL.

Любое место моей ошибки, пожалуйста.

+0

вы позволили 'mod_rewrite' на вашем веб-сервере? –

+0

На Apache в каталоге config есть запись 'AllowOverride All'? –

+0

да я включен и протестирован с образцами тоже – user3535945

ответ

0

Если вы сохраняете http:// в целевом URI, то это действительно будет полная переадресация.

Попробуйте это:

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^(www|ftp|mail)\. [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com$ [NC] 
RewriteRule ^((?!domain/).*)$ domain/%1/$1 [L,NC] 

RewriteRule ^domain/([\w-]+)/news/([\w-]+)/([0-9]+)_([0-9]+)/([\w-]+)\.html$ news.php?domain=$1&category=$4&news=$3 [NC,L] 
RewriteRule ^domain/([\w-]+)/category/([0-9]+)/([\w-]+)\.html$ category.php?domain=$1&category=$2 [NC,L] 
RewriteRule ^domain/([\w-]+)/gallery/([0-9]+)/([\w-]+)\.html$ gallery.php?domain=$1&category=$2 [NC,L] 
RewriteRule ^domain/([\w-]+)/video/([0-9]+)/([\w-]+)\.html$ video.php?domain=$1&category=$2 [NC,L] 

RewriteRule ^domain/(.+)/?$ index.php?domain=$1 [NC,L] 
+0

показывает страницу с запрещенной ошибкой – user3535945

+0

Какой URL-адрес вы вводили в браузере и где находится этот htaccess? – anubhava

+0

http://tamil.example.com и он был размещен в общедоступном html, который является корневым сервером. и теперь он показывает 500 страниц с ошибкой. – user3535945

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