0

我在使用 .htaccess 文件时遇到了问题,本质上我只是想重写 url 以使其对用户更加友好。所以我目前的网址是这样的:

http://divoseevolution.com/index.php?url=about

我想要的是这样的:

http://divoseevolution.com/about/

最后,我编写了自己的 .htaccess 文件,如下所示:

RewriteEngine On

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

RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

现在我已经在我的服务器的其他目录中测试了它,它工作正常,但是在一个实际的域下,而不仅仅是一个子目录,它给了我一个Internal Server Error 500

对此的任何帮助将不胜感激!

4

2 回答 2

1

你可以试试这个:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  ([^/]+)/?   [NC]
RewriteRule .*  index.php?url=%1     [L,QSA]

它将静默映射:

http://diverseevolution.com/anything/

到:

http://diverseevolution.com/index.php?url=anything

于 2013-01-10T19:41:12.787 回答
0
RewriteEngine On

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

RewriteRule ^((about)([^?]*)) index.php?url=about [L,NC]
于 2013-01-10T19:39:55.777 回答