Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess Mod重写代码?_.htaccess_Url Rewriting - Fatal编程技术网

.htaccess Mod重写代码?

.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(这就是我所拥有的)转换为漂亮的url:

  • 丑陋的url:domain.com/aanmelden?reflection=admin
  • 很好的url:domain.com/aanmelden/admin
Ik尝试了很多代码,但没有人为我工作。):

建议? Thnx

(我当前的访问权限:)

我需要放在哪里和什么地方

编辑:

要明确的是:

  • 如果用户转到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]