小编Col*_*ams的帖子

htaccess无声重定向到子目录:子目录显示何时没有尾随'/'

我在谷歌和StackOverflow周围挖掘高低,试图找出我的问题,尝试无数的解决方案,但没有任何完全有效.

我想将服务器上主域的Web根目录移动到子目录.我目前用于Web根目录的服务器路径:

/home/user/public_html/MyWebFilesHere
Run Code Online (Sandbox Code Playgroud)

我想要的是:

/home/user/public_html/subdir/MyWebfilesHere
Run Code Online (Sandbox Code Playgroud)

当我浏览到mydomain.com时,应该没有明显的区别(即重定向后"subdir"不可见).

不幸的是,由于我在共享主机上并且无法访问Apache配置文件等,因此我仅限于使用.htaccess文件执行此操作.:(

我目前在public_html中的.htaccess中拥有的是:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$
RewriteCond %{REQUEST_URI} !^/subdir/
RewriteRule ^(.*)$ /subdir/$1 [L]
Run Code Online (Sandbox Code Playgroud)

这成功地将所有查询重定向到子目录,但是这是一个非常奇怪的问题.如果我去

mydomain.com/Contact/
Run Code Online (Sandbox Code Playgroud)

它工作得很好,将查询重定向到路径/ subdir/Contact /但只留下地址栏.如果我去

mydomain.com/Contact
Run Code Online (Sandbox Code Playgroud)

(注意缺少尾随'/'),地址栏中显示的是

mydomain.com/subdir/Contact/
Run Code Online (Sandbox Code Playgroud)

因为"subdir"显示,这不是我想要的.

有关我实际网站上的工作示例,请尝试浏览

colincwilliams.com/Contact/
Run Code Online (Sandbox Code Playgroud)

和....相比

colincwilliams.com/Contact
Run Code Online (Sandbox Code Playgroud)

你们有没有关于如何使用和不使用尾部斜线进行静默工作的想法?

apache .htaccess mod-rewrite

5
推荐指数
1
解决办法
4466
查看次数

标签 统计

.htaccess ×1

apache ×1

mod-rewrite ×1