![](/img/trans.png)
[英]search engine friendly url for search query strings in php using htaccess
[英].htaccess Search Engine & User Friendly URL's
RewriteEngine On
Options FollowSymLinks
RewriteRule ^([-_a-zA-Z0-9]*)/([-_a-zA-Z0-9]*)/([-_a-zA-Z0-9]*)$ $1.php?id=$2&name=$3
我嘗試將其放置在SITE ROOT
和/Desktop/
。
我已經建立了一個測試頁面domain.com/company.php
,其中僅包含<h1>Hello World</h1>
。
轉到: http : //domain.com/company.php?company_id=74&name=DesignSourceLtd
“ Hello World”顯示
轉到: http : //domain.com/company/74/DesignSourceLtd
顯示404頁。
如何讓我的網址搜索引擎和用戶友好的所有前面的“頁” company
顯示company.php
模板?
解決方案1
您可以像這樣創建.htaccess文件來處理index.php中的所有URI(這樣您就可以根據需要處理任何參數和其他好處):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond &{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,NC,L]
並使用explode('/',$_SERVER['REQUEST_URI'])
訪問參數,您可以包含company.php
解決方案2
您可以為company.php創建一個特殊的句柄
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond &{REQUEST_FILENAME} !-d
RewriteRule ^company\/([-_a-zA-Z0-9]*)\/([-_a-zA-Z0-9]*)$ company.php?company_id=$1&name=$2[QSA,NC,L]
解決方案2不能捕獲第一個url參數,因為您的GET查詢對於company.php來說是特殊的
您的選項應為Options +FollowSymLinks
但是不確定是否會影響結果。 您的正斜線也應轉義。 嘗試regex101.com進行測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.