簡體   English   中英

如何在htaccess中重寫SEO友好的URL markep

[英]how to rewrite SEO-friendly url markep in htaccess

我正在嘗試將我的URL轉換為SEO友好URL。 我對htaccess重寫規則了解不多,URL為:

https://www.zesteve.com/search.php?loc=Guntur&q=manjunath-cake-shop

該網址應為

https://www.zesteve.com/Guntur/manjunath-cake-shop

我已經試過了:

RewriteEngine On  
RewriteCond $1 ^search 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ search.php?q=$1 [L,QSA]

我得到的結果是

https://www.zesteve.com/search?loc=Guntur&q=manjunath-cake-shop

編輯

我正在使用jQuery重定向

 window.location.href = 'search?loc=' + location[0] + '&q='+ search_term;

如果有任何身體尋找相同的解決方案。 這是我的答案

首先,它應該重定向並轉換為SEO友好URL

# Redirect to SEO Friendly Url
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(?:search\.php)?\?loc=([^\s]+)&q=([^\s]+)? [NC]
RewriteRule ^ /%1/%2? [R=301]

現在設置URL

RewriteCond $1 ^ 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ search.php?loc=$1&q=$2 [L,QSA]

它解決了我的問題。

https://www.zesteve.com/search.php?loc=Guntur&q=manjunath-cake-shop

上面的URL現在是

https://www.zesteve.com/Guntur/manjunath-cake-shop

我不想在URL中顯示search.php頁面

RewriteRule ^([^/]*)/([^/]*)$ /search.php?loc=$1&q=$2 [L]

在您的.htaccess文件中使用此命令:

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)$ /search.php?loc=$1&q=$2 [L]

它將為您提供以下URL: https://www.zesteve.com/Guntur/manjunath-cake-shop : https://www.zesteve.com/Guntur/manjunath-cake-shop 只需確保在測試前清除緩存即可。

暫無
暫無

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

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