簡體   English   中英

使用htaccess從php創建SEO友好的URL

[英]Create SEO-friendly URL from php using htaccess

我的網站網址如下:

myhomesite.ext/listino/macchine/listino/marca.php?marca=Audi

我想獲得一個類似如下的URL

myhomesite.ext/listino/macchine/listino/marca-Audi/

因此,我嘗試使用以下代碼

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
</IfModule>


<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^marca/([a-zA-Z0-9]+)/$ marca.php?marca=$1
</IfModule>

但什么都沒發生,我聽不懂,請指出我的錯誤在哪里。

這是我最近的評論

哦,是的,我正在嘗試幾種解決方案,但是現在我已經從一個生成器工具中嘗試了此代碼,

 Options +FollowSymLinks 
RewriteEngine on 
RewriteRule marca/marca/(.*)/ marca.php?marca=$1 
RewriteRule marca/marca/(.*) marca.php?marca=$1  

如果我繼續在mediasportweb.com/macchine/listino/marca/marca/15上找到網址,則在css樣式的頁面上有很多問題,但是我找到了,但是我也找到了網址mediasportweb.com/macchine/listino /marca.php?marca=15,我認為該指令重寫url會刪除舊的url,我認為這是什么問題?

請注意,您應該從代碼中獲取的網址是:

myhomesite.ext/macchine/listino/marca/Audi/

並不是:

myhomesite.ext/macchine/listino/marca-Audi/

改成

RewriteRule ^marca\-([a-zA-Z0-9]+)/$ marca.php?marca=$1

RewriteRule ^marca/([a-zA-Z0-9]+)/$ marca.php?marca=$1

將此規則放在/macchine/listino/.htaccess

RewriteEngine On
RewriteBase /macchine/listino/

RewriteCond /marca\.php\?marca=([^\s&]+) [NC]
RewriteRule ^ marca/marca/%1? [R=302,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule marca/marca/([^/]+)/?$ marca.php?marca=$1 [L,QSA,NC]

對於css / js等,請在css,js,圖像文件中使用絕對路徑,而不要使用相對路徑。 這意味着您必須確保這些文件的路徑以http://或斜杠/開頭。

您可以嘗試將其添加到頁面的HTML標頭中: <base href="/" />

暫無
暫無

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

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