2

我很少涉足服务器端设置。这是我试图在我的 .htaccess 文件中做的事情。http://domain.com/variable应该重写为http://domain.com/home.php?aid=variable

为此,我有:

<Directory /var/www/domain.com/www>
 Options -Indexes +FollowSymLinks
 RewriteEngine On
 RewriteBase /
 RewriteRule ^([0-9a-zA-Z]*)$ /index.php?aid=$1 [L]
</Directory>

我现在也希望能够做到这一点: http://domain.com/webinar/variable应该重写为http://domain.com/webinar.php?aid=variable

我是否需要使用相同规则或只是另一个规则的第二个重写基础?

4

1 回答 1

3

只是一个新的 RewriteRule。一个新的 RewriteBase 指令会过多,因为无论如何您都需要编写另一个 RewriteRule。

<Directory /var/www/domain.com/www>
 Options -Indexes +FollowSymLinks
 RewriteEngine On
 RewriteBase /

 # Stop execution if request is for an existing file or directory
 RewriteCond %{REQUEST_FILENAME} -f
 RewriteCond %{REQUEST_FILENAME} -d
 RewriteRule . - [L]

 # Rewrite webinar/variable to webinar.php?aid=variable
 RewriteRule ^webinar/([0-9a-zA-Z]*)$ webinar.php?aid=$1 [L]

 # Rewrite variable to index.php?aid=variable
 RewriteRule ^([0-9a-zA-Z]*)$ index.php?aid=$1 [L]
</Directory>
于 2013-03-19T15:57:51.677 回答