Проблема с перезаписью URL

#.htaccess #url-rewriting

#.htaccess #url-перезапись

Вопрос:

Я пытаюсь переписать поддомен моего URL-адреса.

http://имя пользователя.domain.com >>> http://www.domain.com/user.php?u =имя пользователя

Я использую это для своего .htaccess

 RewriteEngine on
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteCond %{HTTP_HOST} !^www.domain.com
RewriteCond %{HTTP_HOST} ^([^.] ).domain.com
RewriteRule .* /user.php?u=%1 [L]
  

Можете ли вы помочь мне в отладке этой проблемы?

(Имя пользователя может содержать a-z 0-9 и дефисы) Также, если поддоменом является www или api, не перенаправляйте их

Ответ №1:

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

 RewriteEngine on
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteCond %{HTTP_HOST} !^www.domain.com
RewriteCond %{HTTP_HOST} ^(.*).domain.com
RewriteRule ^(.*)$ /user.php?u=%1 [L]
  

У меня тот же вариант использования, и он работает для меня

Редактировать:

Добавьте это в свой файл httpd.conf и попробуйте отладку

 <IfModule mod_rewrite.c>
RewriteLog "F:/wamp/www/logs/rewrite.log"
RewriteLogLevel 3
</IfModule>
  

Комментарии:

1. попробуйте поместить весь веб-адрес в последнюю строку, например http://domain.com/user.php?u-%1 [L]

2. я нахожусь на общем сервере, из-за этого я не могу редактировать файл httpd.conf. Кроме того, я использую WordPress и очень хорошо переписываю URL-адреса wordpress.