簡體   English   中英

重寫代碼在HTACCESS文件中不起作用;

[英]Re-write codes not working in HTACCESS file;

在此線程被標記為“ 重復 ”之前,或被渴望的人否決.......請允許我先解決我的問題:)

盡管針對該問題有數十種在線解決方案,但似乎沒有一個對我有用。

我試圖隱藏一個文件夾,所以它不會顯示在我的URL中。

我的域名是: www.example.com

我的登錄文件位於“ PHP ”文件夾中。

因此,登錄URL為: www.example.com/PHP/login.php

我正在嘗試隱藏“ PHP ”,因此URL顯示為:

www.example.com/login.php

我已經從該論壇復制粘貼了幾個示例,但是似乎沒有任何效果。

我已經試過了:

  RewriteEngine On
  RewriteCond %{REQUEST_URI} !^/PHP/
  RewriteRule ^(.*)$ /PHP/$1 

或這個.........

 RewriteEngine On
 RewriteCond %{REQUEST_URI} !^/PHP
 RewriteRule ^(.*)$ PHP/ $1 

(即,我刪除了斜杠)

什么都沒有。 URL繼續正常加載。

唯一的錯誤是在代碼末尾包含“ [L] ”時:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/PHP/
RewriteRule ^(.*)$ /PHP/ $1 [L]

然后,我得到一個“ 403 ”錯誤……。這很有意義,因為看到“ [L]”會阻止執行任何進一步的重寫命令。 我的HTACCESS文件中有一些。

這是我完整的HTACCESS文件:

 RewriteEngine on
 RewriteBase /

 RewriteCond %{HTTP_HOST} ^(www.)?example.com$
 RewriteRule ^/PHP/(.*)$ http://www.example.com/$1 [L,R=301]

 #RewriteCond %{REQUEST_URI} !^PHP/
 #RewriteRule ^(.*)$ PHP/$1 [L]

 RewriteCond %{REQUEST_FILENAME} !-d 
 RewriteCond %{REQUEST_FILENAME}\.php -f 
 RewriteRule ^(.*)$ $1.php

 RewriteRule ^index\.php$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]

(請注意已注釋掉的兩行。)

試試看,看看是否適合您。

  RewriteEngine On
  RewriteBase /
  RewriteCond %{THE_REQUEST} [A-Z]{3,}\ /PHP/([^&\ ]+)
  RewriteRule ^ /%1? [R=301,L]

使用您當前的規則添加它。

 RewriteEngine on
 RewriteBase /

 RewriteCond %{HTTP_HOST} ^(www.)?example.com$
 RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

 RewriteCond %{THE_REQUEST} [A-Z]{3,}\ /PHP/([^&\ ]*)
 RewriteRule ^ /%1? [R=301,L]

 RewriteCond %{REQUEST_FILENAME} !-d 
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_URI} !^/PHP [NC] 
 RewriteRule ^(.+)$ /PHP/$1.php [L]

 RewriteRule ^/?$ /PHP/$1 [L]

暫無
暫無

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

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