如何在Apache中创建可选的RewriteCond

Abd*_*yir 12 apache mod-rewrite

我已经为我的.htaccess配置了.这是配置的一部分:

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

结果是配置是:

http://{domain}/aplikasi/{$1}.asp?token={%1}
Run Code Online (Sandbox Code Playgroud)

如果我使用这个链接:

http://{domain}/aplikasi/{$1}.asp
Run Code Online (Sandbox Code Playgroud)

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

Jus*_*man 7

你有两种可能性.

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

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

如果要允许任何查询字符串

RewriteRule ^aplikasi/(.+)\.asp$ /aplikasi.php?halaman=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)