【问题标题】:.htaccess RewriteRule trying to make a link simpler problems [closed].htaccess RewriteRule 试图使链接更简单的问题[关闭]
【发布时间】:2016-07-07 12:46:26
【问题描述】:

我正在尝试使链接更简单。

例如:

来自

example.com/r.php?i=1

example.com/1

我尝试做的是:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ r.php?i= [L,QSA]

但除非我这样做,否则它不起作用:

RewriteRule ^(.*)$ r.php?i=$1 [L,QSA]

我希望它根据用户在链接中输入的内容自动完成。

我也试过了:

 RewriteRule ^(.*)$ r.php?i=%{REQUEST_URL} [L,QSA]

RewriteRule ^(.*)$ r.php?i={REQUEST_URL} [L,QSA]

它们似乎都不起作用。 我对.htaccess 文件没有经验。

【问题讨论】:

  • 试试这个选项 +FollowSymLinks RewriteEngine on RewriteRule (.*) example.com/1/$1 [R=301,L]
  • 您的示例应该可以正常工作,请注意$1 与数字1 无关,它只是第一个捕获的变量,您的情况就是如此。
  • 我明白了,谢谢你的帮助。

标签: php apache .htaccess mod-rewrite


【解决方案1】:

试试这个

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ r.php?i=$1 [L,QSA]

【讨论】:

  • 这与 OP 有什么不同?
  • 没关系。我又做了一次,它似乎工作。这可能只是我以前没有注意到的事情。
猜你喜欢
  • 1970-01-01
  • 2011-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-09
  • 2011-05-19
  • 1970-01-01
相关资源
最近更新 更多