Apache .htaccess是否使用@sign重写规则?
我正在尝试创建一个如下所示的URL: mysite.com/@username 这将导致以下情况: subdomain.mysite.com/user/@username 我对重写规则很糟糕,一直在努力让它发挥作用。我尝试过的一些方法是:Apache .htaccess是否使用@sign重写规则?,apache,.htaccess,mod-rewrite,url-routing,Apache,.htaccess,Mod Rewrite,Url Routing,我正在尝试创建一个如下所示的URL: mysite.com/@username 这将导致以下情况: subdomain.mysite.com/user/@username 我对重写规则很糟糕,一直在努力让它发挥作用。我尝试过的一些方法是: RewriteRule subdomain.mysite.com/user/(.*) mysite.com/$1 [R=302,NC,L] RewriteRule ^(.@)(.*) subdomain.mysite.com/user/$1 [R=302
RewriteRule subdomain.mysite.com/user/(.*) mysite.com/$1 [R=302,NC,L]
RewriteRule ^(.@)(.*) subdomain.mysite.com/user/$1 [R=302,NC]
RewriteRule ^(.@)([A-Za-z0-9_]+) mysite.com/user/$1 [R=302,NC]
我意识到这些可能毫无意义。每次我想弄清楚路由是如何工作的,我就会转过身来,开始写你上面看到的废话
任何指点都将不胜感激。谢谢。您无法路由到子域(无论如何使用htaccess),但您可以重定向到子域
RewriteEngine On
RewriteBase /
RewriteRule @(.*) http://subdomain.mysite.com/user/@$1 [L,R=301]
@symbol应该没问题我认为它不应该工作。你是什么意思?我不允许路由到子域…或者@符号不能使用?我相信@符号应该是%转义的。太好了!事实上,我刚刚想出了一种可行的替代方法,但我更喜欢你的:([@A-Za-z0-9_957;]+)[R=302,NC,L]