如何通过.htaccess在一行中隐藏文件的扩展名和获取变量?此代码不起作用。
...
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^file-([0-9]+)\.php$ /some_directory/files.php?id=$1 [L]
示例:
http://www.example.com/file.php?variable=value
应该是:
答案 0 :(得分:2)
您需要在第一条规则中添加一些条件以防止其循环,您可以尝试将其更改为:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]
然后继续你的第二条规则,它就像现在一样好。
答案 1 :(得分:0)
这对于静态页面更好。您只需将“ index”更改为文件,并根据您的文件更改get元素。例如,存在“ id”元素。
RewriteEngine On
RewriteRule ^((?:[a-zA-Z0-9_-]|%20)+)/?$ index.php?id=$1