Localhost htaccess代码无法在真实服务器上运行?

时间:2014-02-21 01:38:27

标签: php .htaccess mod-rewrite

我在使用wampserver(localhost)开发时为我的网站编写了.htaccess代码。

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

# external redirect from /category.php?id=name&phrase=something to /name/something
RewriteCond %{THE_REQUEST} \s/+category\.php\?id=([^&]+)&phrase=([^\s&]+) [NC]
RewriteRule ^ %1/%2? [R=302,L]

# skip files and directories from rewrites
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

# Cleans up all the article, and wrestler pages
RewriteRule ^/?article/([^/]+)/?$ article.php?id=$1 [L,QSA]
RewriteRule ^/?wrestler/([^/]+)/?$ wrestler.php?id=$1 [L,QSA]

# Removes the .php extension from pages
RewriteCond %{DOCUMENT_ROOT}/$1.php -f [NC]
RewriteRule ^(.+?)/?$ $1.php [L]

# For the redirecion of related topics links on wrestler profile pages
RewriteRule ^([^/]+)/([^/]+)/?$ category.php?id=$1&phrase=$2 [L,QSA]

我刚刚将网站带到了真实的服务器上,而且我收到了“500内部服务器错误。”

从localhost到真实服务器时,我是否应该对代码进行一些更改?请帮帮忙。

1 个答案:

答案 0 :(得分:0)

这对于实时服务器上的已禁用模块存在问题非常好。您应该能够访问您的服务器日志并查看抛出此错误的确切行,但我愿意打赌它是一个禁用的模块(在这种情况下,mod_rewrite可能没有为您的服务器启用 - 我有几个主持这个问题)。

根据您的主机和服务器上的配置级别,您可能需要与支持人员联系并要求他们为您查看日志。