我一直在尝试用htaccess重写一个特定的文件,/ u.php / example到/ u / example。 / example部分我将通过php url解析得到并使用。
所以,我读到的另一个问题建议使用以下代码
RewriteCond %{THE_REQUEST} /(u|a)\.php [NC]
RewriteRule ^ /%1 [L,R]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [L]
但是,这不会在重写时保留/u.php/example中的/ example,如果只输入/ u / example,则会导致500错误。
有没有解决这个问题?可能是什么问题呢?我无法在Stack上找到解决方案。
您需要从URI捕获并重定向/example
部分
RewriteCond %{THE_REQUEST} /(u|a)\.php/([^\s]*) [NC]
RewriteRule ^ /%1/%2 [L,R]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/(.*)?$ /$1.php/$2 [L]