.htaccess Mod重写代码?
我已经搜索过了,但是没有人有相同的问题 现在我需要一个代码将丑陋的url(这就是我所拥有的)转换为漂亮的url:.htaccess Mod重写代码?,.htaccess,url-rewriting,.htaccess,Url Rewriting,我已经搜索过了,但是没有人有相同的问题 现在我需要一个代码将丑陋的url(这就是我所拥有的)转换为漂亮的url: 丑陋的url:domain.com/aanmelden?reflection=admin 很好的url:domain.com/aanmelden/admin Ik尝试了很多代码,但没有人为我工作。): 建议? Thnx (我当前的访问权限:) 我需要放在哪里和什么地方 编辑: 要明确的是: 如果用户转到Nice Url,他们将停留在Nice Url上 如果用户转到丑陋的Url,
- 丑陋的url:domain.com/aanmelden?reflection=admin
- 很好的url:domain.com/aanmelden/admin
- 如果用户转到Nice Url,他们将停留在Nice Url上
- 如果用户转到丑陋的Url,他们将重定向到漂亮的Url
- 这是一个微不足道的重写:
如果
admin
可以是任何小写字符串,请使用模式([a-z]+)$
捕获/
之后和请求URI结束之前的一个或多个小写字母
RewriteEngine On
RewriteRule ^aanmelden/([a-z]+)$ aanmelden?referral=$1 [L]
如果admin
实际上只是admin
,您可以将其硬编码为
RewriteEngine On
RewriteRule ^aanmelden/admin aanmelden?referral=admin [L]
更新
在刚刚发布的现有重写的上下文中,您需要在添加.php的规则之前添加此规则,因为这也将匹配此模式
# Do this before the rule that adds .php
# Also added condition so this doesn't apply to real files...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^aanmelden/([a-z]+)$ aanmelden?referral=$1 [L]
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
更新2
如果希望最终用户获得丑陋的URL并将其重写为漂亮的URL,请使用:
RewriteCond %{REQUEST_QUERYSTRING} referral=([a-z]+)
RewriteRule ^aanmelden aanmelden/%1 [L]
请尝试改进您的问题,不清楚您是想将“好的”url重写为“坏的”url,还是想将“坏的”url重写为“坏的”url。“坏的”url是我现在拥有的url,我想将其更改为“好的”url。这意味着,mod_rewrite应该将“好的”url更改为“坏的”url?对吗?谢谢!我理解你所做的一切,除了最后的[L]部分。这是什么意思?我现在要试试。@user1303265该
[L]
表示这是对该匹配进行的“最后”处理,不应再处理与该模式匹配的重写规则。您通常需要[L]
,在您的情况下,如果没有其他规则,则不需要它,但如果您以后添加更多规则,它将保护您免受意外结果的影响。。这对我不起作用):请参阅我当前htaccess的编辑开始文章。@user1303265请参阅上文。它需要在附加.phmm.的规则之前。。它不起作用?找不到domain.nl/aanmelden/admin页面,并且domain.nl/aanmelden?reflection=admin是否不重定向到正确的url?你能在上面的帖子中发布完整的httaccess(我需要的)吗?谢谢(:
RewriteCond %{REQUEST_QUERYSTRING} referral=([a-z]+)
RewriteRule ^aanmelden aanmelden/%1 [L]