真实内容位于domain.com/view.php?id=image_id
我希望可以通过 domain.com/view/image_id 访问它
以下内容当前用于获取 .php
文件扩展名。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
将以下内容附加到 htaccess 不起作用:
RewriteRule ^view/([A-Za-z0-9]+). /view.php?id=$1 [L, QSA]
另外,我可以接受 view.php 之后的所有内容吗? (view.php?id=
) 被纳入 php 文件,从那里我可以用斜杠将所有内容分开并实现它们的数据。
我在 stackoverflow 和其他地方查看了许多解决方案,但要么它们不适用于我,要么我的服务器出了问题。无论哪种方式,我都会收到内部 500 服务器错误
。谢谢。
最佳答案
您需要将 View 规则放置在更通用的 php 扩展规则之前:
RewriteEngine On
RewriteRule ^view/([A-Za-z0-9]+)$ /view.php?id=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
此外,您不希望在 L,
之后有空格。
关于php - htaccess - 将所有字符作为 get 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19188044/