簡體   English   中英

漂亮的 url 沒有重定向,htaccess

[英]Pretty url not redirecting, htaccess

我對 htaccess 很陌生。 我已經成功創建了 .htaccess 文件,並使用以下規則重定向具有漂亮 url 的用戶。

我的實際網址

http://localhost/domain.com/Job-Details.php?Job_ID=30

我想要達到的目標

http://localhost/domain.com/30

我當前的 htaccess

RewriteEngine On
RewriteBase /domain.com/

# Get the URI-path directly from THE_REQUEST variable
  RewriteCond %{THE_REQUEST} ^(GET|HEAD)\s/(.*)\.php [NC]

# Search friendly URLs for job detail page 
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^([0-9]+)$ Job-Details.php?Job_ID=$1 [NC,L,R=301]

我面臨的問題

  1. 沒有發生漂亮的 url 重定向。 我仍然看到舊網址
  2. 當我直接在地址欄中輸入漂亮的 url 時使用提到的 htaccess,然后頁面顯示正常,但 url 會自動更改為我當前的 url。

知道我在這里做錯了什么。

請嘗試使用以下/domain.com/.htaccess代碼:

RewriteEngine On
RewriteBase /domain.com/

# Redirect actual URI to SEF URI
RewriteCond %{THE_REQUEST} (?:GET|HEAD)\s\/domain.com\/Job\-Details\.php\?Job_ID\=(\d+) [NC]
RewriteRule ^ %1? [R=302,L,NE]

# SEF URI for Job-Details page
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(\d+)$ Job-Details.php?Job_ID=$1 [NC,QSA,L]

如果您對結果滿意,請將R=302更改為R=301 請記住在測試之前清除緩存,否則您的瀏覽器可能會根據歷史緩存進行重定向。

改變這個:
RewriteRule ^([0-9]+)$ Job-Details.php?Job_ID=$1 [NC,L,R=301]

RewriteRule ^([0-9]+)$ Job-Details.php?Job_ID=$1 [L,QSA]

使用 R=301 您正在創建 301 重定向。

暫無
暫無

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

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