Php .htaccess重写规则试图使链接更简单

Php .htaccess重写规则试图使链接更简单,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我正试图使链接更简单 例如: 从 到 我想做的是: 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

我正试图使链接更简单

例如:

我想做的是:

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]

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

试试这个

RewriteEngine On

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

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

尝试此选项+遵循Symlinks RewriteEngine on RewriteRule(.*)[R=301,L]您的示例应该可以正常工作,请注意,
$1
与数字
1
无关,它只是第一个捕获的变量,您的情况就是一切。我明白了,谢谢您的帮助。这与OP有什么不同?很好。我又做了一次,它似乎奏效了。这可能是我以前没有注意到的。
 RewriteRule ^(.*)$ r.php?i=%{REQUEST_URL} [L,QSA]
RewriteRule ^(.*)$ r.php?i={REQUEST_URL} [L,QSA]
RewriteEngine On

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

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