我有一个mediawiki网站,我尝试从index.php
删除URL
。
所以,我跟着the doc和一些Stack Overflow问题,我最终得到了:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
但是当我尝试mysite.com/some_page
时,我被重定向到mysite.com/index.phhp/my_home_page
而不是mysite.com/index.phhp/some_page
。我哪里错了?
答案 0 :(得分:1)
您的代码完全处理丢失的文件或目录,因此如果用户写错了url,代码将会运行。
将以下代码放在根.htaccess
文件中,这样就不会在根目录和子目录中显示index.php:
RewriteEngine On
RewriteRule ^(.*)index\.php /$1 [R=302,L,NE]
答案 1 :(得分:0)
您替换:
remove_filter('template_redirect', 'redirect_canonical');
使用:
RewriteRule ^(.*)$ index.php?$1 [L,QSA]