我的网站“services”文件夹中有一个.htaccess文件
之后必须提供两个网址htaccess的内容
#------------------------
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ index.php?n=$1 [L,QSA]
</IfModule>
$-------------------------
1. http://www.mysite.com/services/seo-work
2. http://www.mysite.com/services/online-editor
第一个使用像http://www.mysite.com/services/index.php?s=seo-work
这样的htaccess重写的网址
这是正确的。但是当我在同一个文件夹“services”上传其他文件online-editor.php时,它无法正常工作
那么第一个网址应该如何使用index.php显示页面?s = seo-work如果在目录中找不到页面“online-editor.php”,则在线编辑器.php shoud show。我以编程方式表示我的问题
if(IsFoundPageInDirectory(online-editor.php))
{
GoToUrl(http://www.mysite.com/services/online-editor.php)
}
else
{
GoToUrl(http://www.mysite.com/services/index.php?s=seo-work)
}
请帮我解决这个问题 感谢您的回复
答案 0 :(得分:0)
检查默认的wordpress .htaccess文件。我认为你缺少对现有文件和目录的检查。像
这样的东西<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>
答案 1 :(得分:0)
最后我找到了回答..感谢第一回复引导我得到答案
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?n=$1 [L,QSA]
</IfModule>