.htaccess 如何进行htaccess选择性重定向
因此,我想重定向所有URL,例如.htaccess 如何进行htaccess选择性重定向,.htaccess,redirect,.htaccess,Redirect,因此,我想重定向所有URL,例如 domain.com/bang 到 除了 当我有一个特定的 domain.com/specific 我想把它改成 domain.com/specific.php 这应该很容易,但出于某种原因,它给了我太多的麻烦。例如,我真的不明白为什么这不起作用: Options +FollowSymLinks RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME
domain.com/bang
到
除了
当我有一个特定的
domain.com/specific
我想把它改成
domain.com/specific.php
这应该很容易,但出于某种原因,它给了我太多的麻烦。例如,我真的不明白为什么这不起作用:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)specific$ ./specific.php
RewriteRule ^(.+)/?$ ./process.php?id=$1
重写条件只适用于紧跟其后的规则,因此您需要复制条件,或者移动条件以便将其应用于上一个规则,因为这才是真正需要的规则。
^(+)/?$
正则表达式将匹配任何内容,包括specific.php
和process.php
尝试:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)specific$ ./specific.php
RewriteRule ^(.+)/?$ ./process.php?id=$1
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^specific$ /specific.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/?$ /process.php?id=$1 [L]