我们在主域名所在的子目录中有一个主站点 和根子文件夹中的很多站点。其中一些是子域名。
主站点(laravel install):
public_html/mainsite/default/public/index.php
辅助网站
public_html/rec/index.php
public_html/raesta/index.php
public_html/acrup/index.php
htaccess的:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(acrup) - [L]
RewriteRule ^(raesta) - [L]
RewriteRule ^(rec) - [L]
RewriteRule ^(.*)$ mainsite/default/public/$1 [L]
</IfModule>
主网站域名为http://mainsite.edu.ar
问题在于我们尝试访问http://mainsite.edu.ar/recursos 返回404
它似乎与网址的 我们已经尝试过了: 导致:
http://mainsite.edu.ar/recursos有效
但是http://mainsite.edu.ar/rec没有 http://mainsite.edu.ar/raesta和http://acrup.mainsite.edu.ar都可以正常使用RewriteRule ^(rec)/?$ - [L]
答案 0 :(得分:0)
也许试试这个:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/acrup/ - [L]
RewriteRule ^/raesta/ - [L]
RewriteRule ^/rec/ - [L]
RewriteRule ^(.*)$ mainsite/default/public/$1 [L]
</IfModule>
你的第一次尝试
RewriteRule ^(rec) - [L]
被http://mainsite.edu.ar/recursos
以及http://mainsite.edu.ar/rec
击中,因为两个URI(DNS名称mainsite.edu.ar
之后的所有内容)都以rec
开头。
你的第二次拍摄
RewriteRule ^(rec)/?$ - [L]
无法正常工作,因为你使用/?
选择了尾随斜杠,所以两个URI都被点击了。
与RewriteRule ^/rec/ - [L]
的区别在于它明确要求/rec/
- &gt;围绕rec
的前导和尾随斜杠。