【问题标题】:Htaccess file not responding - Internal Server Error 500Htaccess 文件没有响应 - 内部服务器错误 500
【发布时间】:2013-01-10 19:25:47
【问题描述】:

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

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

我想要的是这样的:

http://diverseevolution.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

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

【问题讨论】:

  • 你的 apache 错误日志是怎么说的?

标签: .htaccess mod-rewrite friendly-url internal-server-error


【解决方案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

【讨论】:

  • 非常感谢!!!!实际上,我只需要将重写基础添加到文件中,它就会为我完成其他所有工作。 pre``RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
【解决方案2】:
RewriteEngine On

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

RewriteRule ^((about)([^?]*)) index.php?url=about [L,NC]

【讨论】:

    猜你喜欢
    • 2018-03-26
    • 2016-09-22
    • 2017-04-05
    • 1970-01-01
    • 2013-02-06
    • 2015-06-28
    • 2016-04-20
    • 1970-01-01
    相关资源
    最近更新 更多