簡體   English   中英

htaccess RewriteRule產生404

[英]htaccess RewriteRule resulting in 404

我們在指向主域的子目錄中有一個主站點,在根子文件夾中有許多站點。 其中一些是子域。

主站點(laravel安裝):

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

似乎與網址的/ rec部分匹配

我們已經嘗試過:

RewriteRule ^(rec)/?$  - [L]

結果是: http : //mainsite.edu.ar/recursos有效,但http://mainsite.edu.ar/rec卻沒有

http://mainsite.edu.ar/raestahttp://acrup.mainsite.edu.ar都可以正常工作

也許試試看:

<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/ - >一個前緣和后斜杠包圍rec

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM