0

这是我的 .htaccess:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !index\.php [NC]
RewriteCond %{REQUEST_FILENAME} !\.php$ [NC]
RewriteRule ^([^/]+)/?$ index.php?page=$1  [QSA]

基本上如果你输入/test,它会完美运行,如果你去/test.php,它会显示没有重写规则的PHP页面,这只是我对某些页面需要的。

假设有一些页面(一些)我希望它能够(加载整个 .php 页面),但是所有其他页面,我想要的是如果有人去 /contact.php,它会重定向到/联系,到右边。

因此,假设“result.php”和“search.php”,我希望它能够加载整个 PHP 页面,但对于其余部分,我希望它重定向到正确的地址(所以 /contact.php = > /联系)。

我怎么能做到?基本上我 RewriteCond %{REQUEST_FILENAME} !\.php$ [NC]只需要为几个页面添加这个 RewriteRule ()(我自己决定),而对于其余的页面,我需要另一个 RewriteCond(将所有“test.php”重定向到“test”)

非常感谢!

4

1 回答 1

0

您可以将所有这些异常放入您的第一个 RewriteCond 并更改第二个 RewriteCond 以跳过真实文件和真实目录,如下所示:

RewriteCond %{REQUEST_URI} !/(index|result|search)\.php [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ /index.php?page=$1 [QSA,L]
于 2013-07-15T05:14:21.597 回答