我一直在尝试设置.htaccess来创建干净的PHP URL。我的目标是在CL文件夹中实现干净的URL。
htaccess的:
# Use PHP5 Single php.ini as default
AddHandler application/x-httpd-php5s .php
<IfModule mod_rewrite.c>
# This is the initialization
# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymLinks
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteBase /
# /CL/var1/var2/var3
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^CL/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ /CL/index.php?var1=$1&var2=$2&var3=$3 [L,QSA]
# /CL/var1/var2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^CL/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ /CL/index.php?var1=$1&var2=$2 [L,QSA]
# /CL/var1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^CL/([a-zA-Z0-9\-]+)/?$ /CL/index.php?var1=$1 [L,QSA]
</IfModule>
但是,出于某种原因,当y输入文件夹CL时,我收到500内部服务器错误。我过去曾使用过类似的.htaccess配置,但现在它的工作原因并不合适。
有什么想法吗?
答案 0 :(得分:0)
“我过去曾使用过类似的.htaccess配置,但现在它已经不能正常工作了。”
好的,所以规则集有效。我刚刚测试了一个我的测试虚拟机,所以它仍然有效,所以你的问题不是这个.htaccess
文件中的mod_rewrite功能。那它可能在哪里?
从侧面思考。 500状态通常是mod_rewrite循环。你有/ CL的.htaccess
文件吗?这可能会创建一个perdir无限循环。
不幸的是,DS建议尝试从共享托管服务提供商处获得有关$ 100 pa共享服务的error_log内容的答案,这是禁忌。士气:在您的PC上设置一个测试虚拟机来调试这些东西,您可以通过文章here获得对日志的root访问权。