Php mod_重写规则不起作用(将参数从一个url传递到另一个url)
无论我如何修改这个语句,我都无法让它工作。例如,我想从/path/to/class/Ad234Db更改为/path/to/class?code=Ad234Db。以下各项均不起作用:Php mod_重写规则不起作用(将参数从一个url传递到另一个url),php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,无论我如何修改这个语句,我都无法让它工作。例如,我想从/path/to/class/Ad234Db更改为/path/to/class?code=Ad234Db。以下各项均不起作用: RewriteRule ^/?path/to/class/([-a-zA-Z0-9]+)$ /path/to/class.php?code=$1 [L] 或 或 此外,下面仍在运行的重写语句: RewriteRule ^([^\.]+)$ $1.php [NC,L] 尝试: RewriteRule ^path/t
RewriteRule ^/?path/to/class/([-a-zA-Z0-9]+)$ /path/to/class.php?code=$1 [L]
或
或
此外,下面仍在运行的重写语句:
RewriteRule ^([^\.]+)$ $1.php [NC,L]
尝试:
RewriteRule ^path/to/class/([A-Z0-9]+)/?$ /path/to/class.php?code=$1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+)/?$ $1.php [L]
你的.htaccess在哪里?您还应该显示您的完整.htaccess,因为可能存在冲突/覆盖规则。什么是不工作?你有什么错误吗?404500,…?通过稍微调整你的答案,我找到了有效的方法。谢谢
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^path/to/class/([A-Z0-9]+)/?$ /path/to/class.php?code=$1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+)/?$ $1.php [L]