我对.htaccess配置有麻烦,这是配置的一部分:

RewriteCond %{QUERY_STRING} ^token=(.*)
RewriteRule ^aplikasi/(.*).asp aplikasi.php?halaman=$1&token=%1

结果是config是:
http://{domain}/aplikasi/{$1}.asp?token={%1}

如果我使用此链接:
http://{domain}/aplikasi/{$1}.asp

我有404错误,我的问题是:如何使用可选的 token 参数创建(我想“?token = {%1}”是可选的)

最佳答案

您有两种可能性。

如果要允许为空查询字符串或仅允许token

RewriteCond %{QUERY_STRING} ^$ [OR]
RewriteCond %{QUERY_STRING} ^token=([^&\s]+)$ [NC]
RewriteRule ^aplikasi/(.+)\.asp$ /aplikasi.php?halaman=$1&token=%1 [L]

如果要允许任何查询字符串
RewriteRule ^aplikasi/(.+)\.asp$ /aplikasi.php?halaman=$1 [L,QSA]

关于apache - 如何在Apache中创建可选的RewriteCond,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46069202/

10-09 17:39