簡體   English   中英

使用.htaccess重定向URL(不包括圖像文件夾)

[英]Use .htaccess to Redirect URL excluding image folder

我的public_html看起來如下→

1. / image / [目錄]

2. / scripts / [目錄]

3. index.php [文件]

4. Logo.jpg

其他文件也存在,例如php.ini,error_log等。

我想從數據庫表url_alis中搜索example.com/ seo-url ,為此我在scripts / get_url_info.php編寫了代碼以獲取和輸出數據

但是其他任何文件

ico | gif | jpg | jpeg | png | js | css

圖像樣式下 (對於css)的文件夾在此規則下不應得到處理

我已經嘗試了很多,但是以下任何一個問題仍然存在

  1. 圖像和其他文件也將根據此規則進行處理,該規則將返回用於檢查get_url_info.php功能(例如查詢,文件名等)的URL文本。
  2. 重定向使用.php擴展名處理,后跟seo-url (apple-mangoes.php),返回404

  3. 如果在script / get_url_info.php中查詢的db→url_alias表中mysqli_num_rows == 0 ,則URL應指向example.com,這沒有發生。

我當前的.htaccess文件(對未協調的代碼表示歉意)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
RewriteRule    ^([^?]*)    scripts/get_url_info.php?url=$1    [L,QSA]    # Process all products
RewriteRule    ^/image/([^?]*)    /image/$1/$2    [L,QSA]    
RewriteRule ^(.*)$ /index.php [NC,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d

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

這里的基本要求是,如果網址僅指向文本(帶有(_,-,%,&) REQUEST_URI請求之類的符號, 沒有 /正斜杠沒有包含顯示內容的文件夾,則應轉到我的get_url_info .php腳本通常會處理所有內容。

其他重要的先決條件-

  • 強制HTTPS

  • 強制www

  • 如果找不到無效的URL或內容,則重定向到index.php

首先要滿足您的先決條件,請使用.HTACCESS文件中的以下代碼。

強制HTTPS:

### HTTP to HTTPS ###
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

強制www:

### Redirect from non-www to www version ###
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{http_host} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,NC]

如果找不到無效的URL或內容,請重定向到index.php:

對於404錯誤,請使用以下代碼

### Custom Error Pages  ###
Options -Indexes
ErrorDocument 404 /html/404-error.html

您想將它們重定向到主頁時,可以使用

ErrorDocument 404 /index.php

暫無
暫無

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

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