亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

.htaccess - 將所有 URL + 現有目錄重定向到 index.php

.htaccess - 將所有 URL + 現有目錄重定向到 index.php

PHP
喵喵時光機 2021-10-22 14:18:44
我需要能夠將目錄中的所有 URL 重定向到目錄中的 index.php 文件。與我找到的所有其他答案不同,這包括現有目錄和現有文件。我正在使用帶有 .htaccess 文件的 Apache 來完成此操作。到目前為止,我的 .htaccess 文件如下:<IfModule mod_rewrite.c>重寫引擎開啟RewriteRule /sub/directory/index\.php - [L]重寫規則 - /sub/directory/index\.php</IfModule>但出于某種原因,它不會將任何內容重定向到 index.php。我也試過:<IfModule mod_rewrite.c>重寫引擎開啟RewriteRule /sub/directory/index\.php - [L]重寫規則 ^.*$ /sub/directory/index\.php</IfModule>但這給了我一個不可避免的“500 錯誤”。我究竟做錯了什么?如何簡單地將所有內容重定向到 index.php?
查看完整描述

3 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

錯誤與此有關 RewriteRule

RewriteRule /sub/directory/index\.php - [L]

請參閱匹配什么?

  • 每個目錄的上下文(目錄和 .htaccess)中,模式只匹配部分路徑,例如“ /app1/index.html ”的請求可能會導致與“ app1/index.html ”或“index”的比較.html”取決于 RewriteRule 的定義位置。

和“每目錄重寫”:

  • 刪除的前綴總是以斜杠結尾,這意味著匹配發生在一個從來沒有前導斜杠的字符串上。因此,帶有 ^/ 的模式永遠不會在每個目錄的上下文中匹配

這意味著,前導斜杠會阻止模式匹配。將其更改為

RewriteRule ^sub/directory/index\.php - [L]

將解決問題。


500內部服務器錯誤來自于第二規則(在組合與非匹配的第一規則)。

RewriteRule ^.*$ /sub/directory/index\.php

這會將任何請求重寫為/sub/directory/index.php,然后將再次重寫為/sub/directory/index.php,依此類推,直到重寫模塊放棄并顯示“重定向過多”錯誤或類似錯誤。


查看完整回答
反對 回復 2021-10-22
?
四季花海

TA貢獻1811條經驗 獲得超5個贊

另一種方法,您可以使用此代碼:(注釋第二行和第三行以接受 url 中的偶數文件和目錄)


    重寫引擎開啟

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    重寫規則 ^(.*)$ /index.php?path=$1 [NC,L,QSA]


查看完整回答
反對 回復 2021-10-22
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

語法錯誤,在第二個匹配(不是最后一個)之后另外重新匹配第一個規則。


任何請求 -> /sub/directory/index.php -> /sub/directory/index.php - [L]


<IfModule mod_rewrite.c>

    RewriteEngine On

    # RewriteRule /sub/directory/index\.php - [L]

    RewriteRule ^(.*)$ /sub/directory/index.php [L]

</IfModule>

我的另一個建議(index.php 是目錄索引文件,在請求目錄時是第一個):


<IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteRule ^sub/directory/(.*)$ /sub/directory/ [R=301,L]

</IfModule>


查看完整回答
反對 回復 2021-10-22
  • 3 回答
  • 0 關注
  • 222 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號