簡體   English   中英

搜索引擎優化的博客網址

[英]seo friendly url for blogs

我正在建立一個博客系統,我在數據庫中有一個名為url的表,該表將帖子標題與日期保存在一起,我還有一個名為index.php的頁面,其中顯示了數據庫中的所有數據,單擊后即可將您帶到post.php 。問題是該網址不是SEO友好site/post?url=seo-friendly-url.html/2017-09-29 ,我有一個.htaccess文件,效果很好

`Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
RewriteRule ^post/([a-zA-Z0-9-/]+)$ post.php?url=$1  
RewriteRule ^post/([a-zA-Z-0-9-]+)/ post.php?url=$1  
`

但拒絕重寫我的博客帖子,我的索引超鏈接看起來像這樣的<a href='post?url=".$row['url']."'> ,試圖將其重寫為<a href='post/".$row['url']."'>但是沒有用,已經進行了研究,但仍然沒有任何進展,請多多幫助,因為已經有好幾天了。

在您網站的VirtualHost文件中添加AliasMatch(這將位於您的apache文件夾中)

這些是您需要在虛擬主機文件中添加的行

AliasMatch ^post/([a-zA-Z0-9-/]+)$ post.php?url=$1  
AliasMatch ^post/([a-zA-Z-0-9-]+)/ post.php?url=$1

在基於Linux的服務器中。 虛擬主機將位於文件夾中

/etc/apache2/sites-enabled/ 

在此文件夾中,找到您的網站虛擬主機文件,並添加這兩行

虛擬主機將具有與此類似的代碼

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined


    #Add these two line only donot disturb any other lines 

    AliasMatch ^post/([a-zA-Z0-9-/]+)$ post.php?url=$1  
    AliasMatch ^post/([a-zA-Z-0-9-]+)/ post.php?url=$1


</VirtualHost>

在您的.htaccess文件中, 刪除這兩行

RewriteRule ^post/([a-zA-Z0-9-/]+)$ post.php?url=$1  
RewriteRule ^post/([a-zA-Z-0-9-]+)/ post.php?url=$1

獎金

現在,如果您要將正在訪問舊網址(/post?url="old_url.html“)的用戶重定向到新的seo友好網址(/post/old_url.html),請將其添加到您的.htaccess文件中

RewriteRule ^post.php?url=([a-zA-Z0-9-/]+)$ post/$1
RewriteRule ^post.php?url=([a-zA-Z-0-9-]+)/ post/$1

如果您在虛擬主機文件中將所有行作為注釋(所有行的#開頭),請將其添加到底部的虛擬主機中

 <VirtualHost *:80>
        DocumentRoot "C:/xampp/htdocs"
        AliasMatch ^post/([a-zA-Z0-9-/]+)$ post.php?url=$1  
        AliasMatch ^post/([a-zA-Z-0-9-]+)/ post.php?url=$1


    </VirtualHost>

**

進行更改后,請記住重新啟動Apache Server。

**

暫無
暫無

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

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