这就是我的.htaccess目前所拥有的
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Options -Indexes
就像现在一样,website.com/jobs有效,而website.com/Jobs却没有。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
CheckSpelling On
CheckCaseOnly On
Options -Indexes
我继续前进,让我的.htaccess包含以下内容,我的网站现在提供500内部错误。
有什么想法吗?
答案 0 :(得分:1)
技术支持人员告诉我,mod_speling未启用。主要问题是/ Jobs到/ jobs。无论如何没有mod_speling吗?
你可以这样做:
Options -Indexes
RewriteEngine on
# handle Jobs => jobs
RewriteRule ^Jobs/?$ /jobs [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
答案 1 :(得分:0)
我认为你需要在rewriteRule中使用不区分大小写的检查
使用[NC]标志会使RewriteRule在a中匹配 不区分大小写的方式。也就是说,它不关心字母 在匹配的URI中显示为大写或小写。
所以也许
RewriteRule ^[Ww](.*)$ $1.php [NC]
将起作用