gpt4 book ai didi

.htaccess 用查询字符串重写 URL

转载 作者:行者123 更新时间:2023-12-04 04:08:56 24 4
gpt4 key购买 nike

我已经尝试了 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 中的什么位置,我不知道。我猜你必须在实际规则之前和之后尝试一下。

关于.htaccess 用查询字符串重写 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13592535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com