0

在我的 .htaccess 中,我有以下内容:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^mydomainname.com$ [NC]
RewriteRule ^(.*)$ http://mydomainname.com/$1 [R=301,L]
RewriteRule ^([A-Za-z0-9\ -]+)$ index.php?x=$1 [L]

它的作用是将 mydomainname.com/page-name 重写为 mydomainname.com/index.php?x=page-name

我的问题是我希望能够在不激活规则的情况下访问 mydomainname.com/testpage.php 之类的页面。我不明白为什么当我在 RewriteRule 中没有点时它仍然加载索引页面。

4

1 回答 1

0

基本上你告诉一切都去 index.php 文件,简而言之:

RewriteRule . index.php [L]

试试这个,让我们看看会发生什么:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^mydomainname.com$ [NC]
RewriteRule ^(.*)$ http://mydomainname.com/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([A-Za-z0-9\ -]+)$ index.php?x=$1 [L,QSA]
于 2013-10-19T22:37:57.237 回答