1

我几乎有这个工作。我的问题是,只要我点击网站内的任何链接,子文件夹名称就会添加到 url。我对htaccess文件所做的修改都在根目录下,site目录下的就是标准的joomla htaccess文件。我不确定这是否搞砸了。这是代码的示例。

换句话说,我在浏览器“domain.com”中输入 url,htaccess 完成了它的工作,并自动将其更改为“www.domain.com”。我知道它正在路由到子文件夹,因为我可以看到实际的站点。然后我以单击“主页”按钮为例。然后地址栏中显示的 URL 是“www.domain.com/site”

##### Redirect non-www to www -- BEGIN
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R,L]
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^/?(.*)$ http://www.domain.com/$1 [R=301,L]
##### Redirect non-www to www -- END

##### Subfolder redirect --BEGIN
RewriteRule ^(.*)$ /site/$1 [L]
RewriteRule ^(/)?$ site/index.php [L]
##### Subfolder redirect --END

如果需要,我很乐意发布整个 htaccess 文件,但我可以告诉你,通过将这两个条目更改为其中,我已经将站点带到了现在的位置。我在文件中有很多“安全”措施。

编辑:我应该从一开始就将其放入,这是我尝试从直接调用 index.php 重定向。我只是注意到它可能与我的其他重定向发生冲突。

##### Redirect index.php to / -- BEGIN
RewriteCond %{THE_REQUEST} !^POST
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteCond %{SERVER_PORT}>s ^(443>(s)|[0-9]+>s)$
RewriteRule ^index\.php$ http%2://www.domain.com/ [R,L]
##### Redirect index.php to / -- END

编辑 2:我一直在从浏览器中转储我的网络缓存以进行测试。我的网站在第一次连接时似乎运行得很慢,就内容而言几乎没有任何内容。我是否添加了一些要求太多的东西?

4

0 回答 0