簡體   English   中英

.htaccess 用查詢字符串重寫 URL

[英].htaccess Rewrite URL with a query string

我已經嘗試了在 stackoverflow 上發布的大量解決方案,但似乎沒有任何效果對我有用。 我想在我的網站上重寫一些 URL,以便對搜索引擎友好。

我想要這樣的 URL:- http://www.mysite.com/index.php?filter=accounts顯示為:- http://www.mysite.com/accounts

網絡上的很多帖子都將其作為解決方案:-

RewriteRule ^([^/]+)/?$ index.php?filter=$1 [QSA,L]

但這沒有任何作用。

我的網站是一個 Joomla CMS 網站,.htaccess 文件中已經有一些重寫。 難道是我把我的新 RewriteRule 放錯了地方?

這是完整的 .htaccess 文件,沒有添加我的新 RewriteRule

Options +FollowSymLinks
RewriteEngine On

# prevents people from accessing anything with phpMyAdmin
RewriteRule phpMyAdmin - [F]

# force canonical www if request is for non-www or has port number etc
RewriteCond %{HTTP_HOST} !^(www\.mysite\.com)?$
RewriteRule (.*) http://www.mysite.com/$1 [R=301,L]

RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
RewriteBase /
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

任何幫助將非常感激。 :-)

更新

現在正在測試。 嘗試這個:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9-=_?]+)/?$ index.php?filter=$1 [L] 

.htaccess進入根目錄。

請求的 URL 是http://www.mysite.com/accounts/但可以是任何內容: http://www.mysite.com/apples/

注意:地址欄中顯示的 URL 是在該地址欄中輸入的 URL。 我假設不是http://www.mysite.com/index.php?filter=accounts因為我猜重定向的目的是將它替換為更友好的( http://www.mysite.com/accounts ),這是必須在地址欄中鍵入的內容,而不是相反。 有點令人困惑,但我希望它是有道理的。

要測試它,請在根目錄中的 index.php 中包含以下唯一代碼。

<?php 

if ($_GET['filter'] == 'accounts') {
echo "This is Accounts<br /><br />";    
}else {
echo "This is INDEX<br /><br />";       
}

?>

至於將重寫規則放置在 .htaccess 中的什么位置,我不知道。 我想你必須在實際規則之前和之后嘗試一下。

暫無
暫無

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

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