#.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.