Php Mod rewrite规则没有';行不通
我正在使用mod rewrite,但我的代码不起作用。它曾一度奏效。 我已经删除了密码 .htaccess PHPPhp Mod rewrite规则没有';行不通,php,.htaccess,mod-rewrite,rule,Php,.htaccess,Mod Rewrite,Rule,我正在使用mod rewrite,但我的代码不起作用。它曾一度奏效。 我已经删除了密码 .htaccess PHP 如果我转到index.php,它会显示NULL 我不明白为什么它不再工作了。我希望你能帮助我 另外,我已经通过使用.htaccess创建登录表单来测试是否加载了.htaccess文件。您需要删除规则中的第一个斜杠 RewriteEngine On RewriteBase / RewriteRule ^(.*)/$ index.php?test=$1 您需要去掉第一个斜杠:
如果我转到index.php
,它会显示NULL
我不明白为什么它不再工作了。我希望你能帮助我
另外,我已经通过使用.htaccess创建登录表单来测试是否加载了.htaccess文件。您需要删除规则中的第一个斜杠
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/$ index.php?test=$1
您需要去掉第一个斜杠:
RewriteRule ^(.*)/$ index.php?test=$1
即使如此,您的规则也仅在输入以正斜杠结尾的url时适用,例如:
/index.php/
如果希望它与任何url一起使用,还需要删除最后一个斜杠:
RewriteRule ^(.*)$ index.php?test=$1
编辑:为避免重写现有文件和目录,需要添加一些条件:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?test=$1
Thx,这起作用了!但我还有一个问题。在index.php文件中,我有一个指向样式表的链接,但该链接也被重写了。即使我使用asbolute URL。
RewriteRule ^(.*)$ index.php?test=$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?test=$1