簡體   English   中英

URL RewriteRule .htaccess可提供更多SEO友好形狀

[英]URL RewriteRule .htaccess for more SEO friendly shape

我有類似book.php?id=23 product.php?id=23類的URL。我希望它們像

book/id/title 

我當前的.htaccess是這個

RewriteEngine On
RewriteRule ^book/([0-9]+)\-([a-z0-9_\-]+)/?$ book.php?id=$1 [NC,L,QSA]

但是它無法正常工作,盡管頁面存在問題,它仍直接轉到book.php頁面,我無法使用$_GET獲取Id參數,感謝您的幫助,這是我的網址http://www.gamzesart.com/book。 PHP?ID = 2

請嘗試以下操作:

+FollowSymLinks   # This is based on the comment of PeteR bellow in comments
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteRule ^book/([0-9]+)/([^/]+)/?$ book.php?id=$1 [NC,L,QSA]
</IfModule>

這對我行得通。

在我的本地PC上,我嘗試訪問URL: http://www.localSite.dch/book/12/nikos

在我的book.php文件中,我有以下代碼:

<?php
    echo "<pre>";
print_r($_REQUEST);
    echo "</pre>";
?>

結果是這樣的:

Array
(
    [id] => 12
)

實際上,我在前一周遇到了這個問題,原來是因為url引用與我正在調用的php文件的名稱相同,即:

RewriteRule ^book/([0-9]+)/([^/]+)/?$ book.php?id=$1 [NC,L,QSA]

就像測試一樣,將規則更改為:

RewriteRule ^books/([0-9]+)/([^/]+)/?$ book.php?id=$1 [NC,L,QSA]

並嘗試將該URL稱為books / 23。

暫無
暫無

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

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