我的问题是我的域 example.com 指向我服务器的根目录(正常行为),但该网站位于子目录 sub 。
使用以下 .htaccess ,我实现了我的域名被重定向到子目录 sub而没有变换URL!
RewriteEngine On
RewriteRule !^/sub /sub%{REQUEST_URI} [L,NC]
首页显示正确,网址仍然是 example.com (这是正确的)。但是,当我点击链接访问子页面时(示例链接:example.com/my-company),页面会将我重定向到 example.com/sub (所以回到首页 - 我不想要那个)。重定向后,这些链接仍无法正常工作。
如何在没有地址栏中的子文件夹的情况下实现这些链接?总结一下:
我将我的域 example.com 重定向到名为 sub 的子文件夹,并且不在地址中显示 sub 文件夹酒吧。我想,整个页面的工作没有地址栏中的 sub 文件夹。
在后台我们使用typo3。以下是子文件夹的 .htaccess :
Options None
Options +FollowSymlinks
RewriteEngine On
RewriteBase /sub
RewriteRule ^(typo3|t3lib|tslib|fileadmin|typo3conf|typo3temp|uploads|showpic\.php|favicon\.ico)/ - [L]
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php
# to avoid double content
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
那么,我该如何实现呢?
答案 0 :(得分:0)
这是因为RewriteRule默认会发出重定向。您需要告诉它不要执行重定向。您可以使用PassThrough floaf [PT]
执行此操作然后应该有以下工作:
RewriteRule !^/sub/(.*)$ /sub/$1 [L,NC,PT]