Apache偽靜態在網站目錄沒有反斜杠后自動添加反斜杠


第一步:確認網站開啟REWRITE規則

  一般有兩種情況:

  i.apache安裝的時候已經包含rewrite功能

  ii.后續配置的時候新添加mod_rewrite.so。這種情況需要在httpd.conf文件中修改配置啟動

  在conf目錄下httpd.conf中找到

  LoadModule rewrite_module modules/mod_rewrite.so

  這句,去掉前邊的注釋符號“#”,或添加這句。

  允許在任何目錄中使用“.htaccess”文件,將“AllowOverride”改成“All”(默認為“None”):

  # AllowOverride controls what directives may be placed in .htaccess files.

  # It can be “All”, “None”, or any combination of the keywords:

  # Options FileInfo AuthConfig Limit

  #

  AllowOverride All

  第二步:添加.htaccess文件

  在本地新建文件1.txt,並寫入以下內容:

  RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_URI} !(.*)/$
      RewriteRule ^(.*)$ $1/ [L,R=301]

 



  此段代碼意思是將網站后面沒有加"/"的目錄都加上"/"。

  說明:

  * RewriteCond %{REQUEST_FILENAME} !-f : 指定操作僅針對目錄,對指向文件的url不進行rewrite操作;

  * RewriteCond %{REQUEST_URI} !(.*)/$ :判斷url是否以斜杠“/”結尾;

  * RewriteRule ^(.*)$ http://www.baiye5.com/$1/ [L,R=301] : 自動將符合上述條件的url以301跳轉重定向至以斜杠結尾的版本,比如說將“http://www.baiye5.com/wxarticle”重定向至 “http://www.baiye5.com/wxarticle/”,其中“L”指該行為規則的最后一行,而“R=301”則指明采用301 Redirect。當然,您在使用時應將“http://www.baiye5.com/”替換成自己網站的url。

  將1.txt文件上傳至網站根目錄。上傳后改名為.htaccess。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM