[英]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.