子域的重写规则

发布于 2024-11-27 18:10:16 字数 624 浏览 0 评论 0原文

我的 .htaccess 中的重写规则有问题 首先,我的网站上有一个 wlidcard (*.site.com)

这是我网站的路径:

/home/www/static/
/home/www/home/
/home/www/.htaccess

所以我在网站的根目录下创建了一个 .htaccess:

RewriteCond %{HTTP_HOST} static.site.com [NC]
RewriteRule !^static/ static%{REQUEST_URI}

RewriteCond %{HTTP_HOST} www.site.com [NC]
RewriteRule !^home/ home%{REQUEST_URI}

这些重定向运行得很好,但是当我想去时例如:

http://www.site.com/img

有一个问题,它在 http://www.site.com/home/img/ 中重定向我,

但是当我输入 http://www.site.com/ 时图片/最后的反斜杠一切都好。

感谢您的回复:)

I have a problem with my rewriterule in my .htaccess
To begin, i have a wlidcard on my website (*.site.com)

Here is the path of my website :

/home/www/static/
/home/www/home/
/home/www/.htaccess

So i made a .htaccess at the root of my website with :

RewriteCond %{HTTP_HOST} static.site.com [NC]
RewriteRule !^static/ static%{REQUEST_URI}

RewriteCond %{HTTP_HOST} www.site.com [NC]
RewriteRule !^home/ home%{REQUEST_URI}

These redirects run pretty good but when i want to go to for example :

http://www.site.com/img

There's a problem, it's redirecting me in http://www.site.com/home/img/

But when i type http://www.site.com/img/ with the final backslash everything is ok.

Thanks for replies :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情丝乱 2024-12-04 18:10:16

尝试:

RewriteRule ^(.*)$ $1/ [R=301,L]

如果斜杠缺失,这应该会为您添加缺失的斜杠。您需要包含“L”标志来告诉重写引擎这是您的最后一次重写,而不是在此规则之上应用其他规则。

Try:

RewriteRule ^(.*)$ $1/ [R=301,L]

This should add on the missing slash for you if it's missing. You'd want to include the 'L' flag to tell the rewrite engine that this is your LAST rewrite and not to apply the other rule on top of this one.

初见你 2024-12-04 18:10:16

不匹配映射到现有目录的请求

RewriteCond %{REQUEST_FILENAME} !-d

如果这不起作用,请尝试匹配请求加上另一个斜杠是否是目录?

RewriteCond %{REQUEST_FILENAME}/ !-d

Don't match requests which map to existing directories

RewriteCond %{REQUEST_FILENAME} !-d

If that doesn't work, try matching whether the request plus another slash is a directory?

RewriteCond %{REQUEST_FILENAME}/ !-d
烟柳画桥 2024-12-04 18:10:16

已解决:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,6}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]

Solved :

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,6}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文