Php 无法使用HTACCESS创建漂亮的url

Php 无法使用HTACCESS创建漂亮的url,php,mysql,.htaccess,Php,Mysql,.htaccess,我正在尝试缩短此url: example.com?controller=iphone&action=xyz 进入: example.com/iphone/xyz 这是我尝试的,但不起作用: .htaccess: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]*)/([^/]*)/$ index.php?controller=$1&

我正在尝试缩短此url: example.com?controller=iphone&action=xyz

进入:

example.com/iphone/xyz

这是我尝试的,但不起作用:

.htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/$ index.php?controller=$1&action=$2 [L]

显然,不需要在模式中使用尾随斜杠,也不需要将其限制为在行尾
$
后立即结束。请注意,我将
*
更改为
+
,因为您几乎肯定希望控制器和操作至少有一个字符长

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+) index.php?controller=$1&action=$2 [L]

显然,不需要在模式中使用尾随斜杠,也不需要将其限制为在行尾
$
后立即结束。请注意,我将
*
更改为
+
,因为您几乎肯定希望控制器和操作至少有一个字符长

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+) index.php?controller=$1&action=$2 [L]

@ Rikh Health.php应该留在HTAccess中,这是路由脚本驻留的地方。@ Rikh Health.php应该留在HTAccess中,这是路由脚本驻留的地方。请考虑详细说明您的代码与他的代码是如何不同的,以及为什么您的代码将在他不工作的时候工作。@阿米加格感谢它的工作!但如果我想让它也传递其他参数呢?例如:如果我试图访问该链接,它将不会通过parameters@DanRevah然后,您需要一个选项,如果有两个以上的路径段,则此选项不太可能起作用。例如,“/A/B/C”ReWrrulule^((**)/(.*)index .php?控制器=1美元& action=2美元[L,QSA] ]请考虑详细说明您的代码与他的代码是如何不同的,以及为什么您的代码将在他不工作的情况下工作。@ AMITGARG感谢它的工作!但如果我想让它也传递其他参数呢?例如:如果我试图访问该链接,它将不会通过parameters@DanRevah然后,您需要一个选项,如果有两个以上的路径段,则此选项不太可能起作用。例如“/a/b/c”重写规则^(.*)/(.*)index.php?控制器=$1和操作=$2[L,QSA]