我想重写一些网址,但因为我是一个.htaccess noob,我不知道如何自己制作。
到目前为止,我有:
转到example(.)com/server/SERVERNAME
example(.)com/server/index.php?server=SERVERNAME
为此,我使用:
RewriteBase /server/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ index.php?server=$1 [L]
但从这一点来说,我被困住了。
我希望example(.)com/server/SERVERNAME/vote/
转到example(.)com/server/vote.php?server=SERVERNAME
这可能听起来很奇怪或令人困惑,但我不知道它是否可能。 任何帮助将不胜感激。
答案 0 :(得分:0)
您似乎缺少RewriteEngine On
,并且还需要多个规则来检查.php
中是否存在匹配的/server/
文件。
将此规则放在/server/.htaccess
:
RewriteEngine On
RewriteBase /server/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/server/$2\.php -f [NC]
RewriteRule ^([^/]+)/([^/]+)/?$ $2.php?server=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?server=$1 [L,QSA]