我如何使用 .htaccess 指向与 url 栏中的目录不同的目录

How can i use .htaccess to point to a directory different from the one on the url bar

我一直在尝试使用 .htaccess 指向我网站用户的模板目录。

用户登录后指向的目录是mysite.com/lu/user1/ 而我要加载的内容在mysite.com/lu/default/

我想要实现的是从默认模板目录加载内容,以便我可以在必要时修改页面,它会反映在所有用户帐户页面上。

整件事就是说:当用户在 mysite 中时。com/lu/user1/ 让 mysite 中的内容。com/lu/default/ 提供给不在 mysite 中的用户。com/lu/default/显示在 url 栏上。如果用户在 mysite.com/lu/user1/settings/ 或 mysite.com/lu/user1/settings/?rw=yyy&uui=uuu 让服务目录成为 mysite.com/lu/default/settings/ 或 mysite .com/lu/default/settings/?rw=yyy&uui=uuu

我也不希望用户直接访问模板目录,例如 mysite。com/lu/default/

此代码已发布给我,但我不知道 htaccess 语法

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !^/(index|excluded1|excluded2)\.php [NC]
RewriteRule ^((?!u/).+)$ u/ [L,NC]

感谢您的光临。

您应该能够重写到 default 目录。你可以试试这条规则。

RewriteEngine On
RewriteBase /

#redirect to the home page if they request direct default directory
RewriteCond %{THE_REQUEST} {A-Z}{3,}\ /lu/default/?([^&\ ]*)
RewriteRule ^ / [R=301,L]

#internally rewrite to the default directory QSA flag will send any query string attached.
RewriteRule ^lu/(?!default)([^/]+)/?(.*?)/?$ /lu/default// [L,QSA]

您可以在 /lu/ 目录中使用此 .htaccess:

RewriteEngine On
RewriteBase /lu/

# block direct access to /lu/default
RewriteCond %{THE_REQUEST} /lu/default [NC]
RewriteRule ^ - [F]

RewriteRule ^([A-Z0-9]{6})/?$ profile.php?cod= [L,QSA] 

# route every user/* to default/*
RewriteRule ^\w+/(.*)$ default/ [L,NC]