重写域,但仍使用index.php

重写域,但仍使用index.php,php,.htaccess,Php,.htaccess,对所有URL使用index.php的当前代码: RewriteRule^(.*)$./index.php 但对于一个特殊情况,我想创建url http://domain.com/s/this_changes实际调用 http://domain.com/steps/step/this_changes 我试着加上: RewriteRule^./s/$./steps/step/$1,但它给出了一个错误500 RewriteRule ^s/this_changes$ steps/step/this_ch

对所有URL使用index.php的当前代码:

RewriteRule^(.*)$./index.php

但对于一个特殊情况,我想创建url

http://domain.com/s/this_changes
实际调用
http://domain.com/steps/step/this_changes

我试着加上:

RewriteRule^./s/$./steps/step/$1
,但它给出了一个错误
500

RewriteRule ^s/this_changes$ steps/step/this_changes
如果是那么简单或者

RewriteRule ^(.*)/(.*)$ steps/$1/$2
您的特定代码将如下所示

RewriteRule ^s/(.*)/?$ ./steps/step/$1
代码第二部分的$1中引用了(.*)。

请尝试以下操作:

RewriteEngine On
RewriteRule ^s/(.+)$ /steps/step/$1 [L]

另一种方法是通过index.php路由所有URI,并为每个URI创建一个函数。

我在下面给您写了一个答案。这会给您一个错误,因为$1调用代码第一部分的括号,而您没有在括号中声明任何内容。
RewriteEngine On RewriteRule ^s/$/steps/step/$1[L]RewriteRule^(.*)$./index.php
不起作用,或者它不应该起作用?这不起作用,您需要在第一节()的括号中放入一些内容,以便在第二节中使用$1