我的 .htaccess 文件的 URL 查询路径重定向似乎不起作用

问题描述 投票:0回答:1

美好的一天,我希望我的网站将 URL 中的尾随查询定向到简单的“/”。

例如:“https://www.website.com/page?url_query=my-article”为“https://www.website.com/page/my-article”,将“?url_query=”替换为“ /”

如果我明显忽略了一些显而易见的事情,我深表歉意。我已经阅读了多篇关于这个主题的 StackOverflow 文章,所有文章的答案相似但略有不同。似乎没有一个在我的 .htaccess 文件中工作。我的文件中是否有某些内容与此代码重叠/冲突?

上面的链接是一个示例,在我的确切 URL 中,我已将“?url_query=”最小化为“?l=”,这样当尾随查询存在时,它至少会尽可能小。

这是我正在使用的确切页面*:

https://localhost/clarity/i?l=my-event https://localhost/clarity/library/event?l=my-event https://localhost/clarity/library/article?l=my-article
*这些实际上位于“/htdocs/clarity/public/page.php”中,而不是“/htdocs/clarity/page.php”中。

.htaccess:

# Disable directory browsing Options -Indexes # Rewrite URLs RewriteEngine On RewriteBase /clarity/ # Redirect to https and www RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^clarity\.rf\.gd [NC] RewriteRule ^(.*)$ https://www.clarity.rf.gd/$1 [L,R=301] # Redirect to public folder RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC] RewriteRule ^ %1 [L,NE,R=301] RewriteRule ^((?!public/).*)$ public/$1 [L,NC] # Replace "?l=" to "/" RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/?test/(.*?)/?$ /test.php?l=$1 [L] # Redirect from "?l=" to "/" RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /test\.php\?l=([^\&\ ]+) RewriteRule ^/?test\.php$ /test/%1? [L,R=301] # Remove .html RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^([^\.]+)$ $1.html [NC,L] # Remove .php RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^([^\.]+)$ $1.php [NC,L]
最后澄清,我的 .htaccess 文件中的其他所有内容都按预期工作。 “https”和“www”重定向以及删除“.html”、“.php”扩展名。

~谢谢您的宝贵时间

php html .htaccess mod-rewrite
1个回答
0
投票
要根据需要重写,请使用以下文本,并每次都用好的论点复制它,即:

RewriteCond %{QUERY_STRING} ^url_query=我的文章$ 重写规则 ^page$

https://www.website.com/page/my-article? [R=301,L]

或者自动化

RewriteCond %{QUERY_STRING} url_query=(.

) RewriteRule ^(.)/url_query=$ $1?page=%{QUERY_STRING} [R=301,L]

R=301 :重定向类型永久意味着在 SEO 和所有内容之后您将“也许”删除旧网址。无论如何,好的网址是这个......

祝你有美好的一天...

© www.soinside.com 2019 - 2024. All rights reserved.