我刚刚从本地服务器 (XAMPP) 上传了我的网站。它在本地工作,但由于某种原因,将 index.php 添加到我的 SEF URL 的重写在我的公共服务器中不起作用。这就是我现在所拥有的:
# Avoid listing directory
Options -Indexes
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
# manage language segment
RewriteRule ^(es|en)/(.*) $2?lang=$1 [L]
# code that allows to get rid of index.php from URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
</IfModule>
这些 URL 的工作:
www.example.com
www.example.com/index.php/aboutme
而像这样的 URL 会产生500 错误:
www.example.com/aboutme
这是我试图解决 index.php 删除的条件和规则的另一种组合:
RewriteCond $1 !^(index.php|css|img|scripts|ckeditor|robots.txt|sitemap.xml)
RewriteRule ^(.*)$ index.php/$1 [L]
但它会为任何没有 index.php 的 URL 生成 500 错误,包括根 URL www.example.com
你能帮我解决这个问题吗?